未処理の「下位レベル」テーブルへの変更が必要なシステムで、データベース/理想的には、基礎となるデータに基づいてビューを格納するさまざまな異なるテーブルを自動的に伝播させるためです。ローテーブルが自動的にサマリーテーブルに反映されるようにするための最適なデータベース設計/アーキテクチャ
簡単な例を示します。異なるスーパーマーケット
- 例えば の食品成分と価格の
- 様々なテーブル: は、私は以下の表を持っている想像してみてください。
- 例えばための最も安価な場所を格納するテーブル{:1.99、バター0.79卵}と、そしてウォルマートテーブル{150:1.19、バターケチャップ}を有するセーフウェイテーブル。 {バター=>ウォルマート:0.79}
- 例えば{「ketchupy卵。 - 朝食=>トータル:3.97、成分=>バター:0.79、卵:1.99、ケチャップ:1.19
今想像私はworがあるkers外出し、テーブル(1)の値を毎時更新する。テーブル1で変更されたものに依存するテーブル2のエントリを強制的に更新するデータベース設計またはアーキテクチャが存在し、同様にテーブル3およびテーブル4に変更を伝播させるでしょう。一連のカスケードジョブがありましたが、あまり複雑ではなく、よりエレガントな方法で作業しているのかどうか疑問に思っていました。
ありがとうございました。
いくつかの明確化。このシステムでは、毎日コア価格を数十万回更新しています。これらの変更を集計や集計(合計/最大/最小)である別のテーブルにエレガントにプッシュ/伝播する方法があるかどうかを理解しようとしています。原価格に基づいています。私は定期的にサマリーテーブルに変更を取り込むことができると私は理解していますが、私は最初の更新の結果としてそれらをプッシュする方法があるのだろうかと思っています。 – andrewl
CQRSは定期的に実行しません。 Readモデルを直接変更します。読み取りモデルは、更新モデルに変更が保存されるときにpub/subパターンによって更新される非正規化データベースにすることができます。 – jgauffin