休暇中に、私はPatHellandの「 LifeBeyondTransactions」を読みました(そうです、休暇はとても良かったです:)。簡単にまとめると、トランザクションの範囲を単一のエンティティに制限し、エンティティを更新したり、タスクを無効にする変更が発生したときにタスクをキャンセルしたりできる「アクティビティ」のグループを使用することを提唱しています。
(たとえば、出荷オーダーAにはある程度のアイテム1が必要です。出荷オーダーとアイテムはエンティティとして保存され、独自のアクティビティがあります。出荷オーダーBは、Aが終了する前にアイテム1の最後と一緒に出荷されます。アイテム1のアクティビティは、出荷オーダーAをキャンセルします。 。)
ダイナモ紙を印刷していると思っていたので、ここで2つを混同してしまったらご容赦ください。DynamoとBigTableの影響を受けた「NoSQL」プロジェクトをかなり多く見ました。特に、キーとパーティションデータによってエンティティをアドレス指定する方法についてです。このEntity-Message-Activityモデルがそれらのいずれかに影響を与えているかどうか疑問に思いましたか?
または、より具体的に言えば、HBase、Cassandra、Riakなどで複数のエンティティにまたがる操作がある場合、アクティビティをすべて自分で実装する必要がありますか(アプリケーションのデザインパターンの詳細として) 、または既存のフレームワークのようなものはありますか?それとも、彼らはこの質問全体を無意味にする何か他のことを完全に行っていますか?
ありがとう!