3

イベント ストリームにさかのぼってイベントを組み込む必要がありますが、最適な実装方法がわかりません。

監査およびその他すべての標準的な利点のために、元のイベント ストリームを変更しないでおく必要があります。イベント ストリームは本質的に一時的なものでもあり、履歴の任意の時点の値を確認できます。つまり、6 月 1 日午後 5 時の x の値は 10.00 でした。時折、6 月 5 日に x の値が実際には 6 月 1 日の午後 5 時に 12.00 であることがわかります。このシナリオでは、10.00 を「as-at」値、「12.00」を as-of 値と呼び、イベント ストリームでこれらの両方を追跡します。

現状値の状態を再構築することは、6 月 1 日午後 5 時より前の最新のスナップと 6 月 1 日までのすべてのイベントからの単純なクエリです。

私がためらっているのは、現状を再構築することです。モデルに現状修正がある場合は、現状ではなくデフォルトで使用する必要がありますが、イベント ストリーム全体を読み取らずに現状修正があるどうかを判断する方法がわかりません。ある時点から現在まで(これは大きくなる可能性があります)、ほとんどの変更は問題ではなく、問題の時点​​ではなく将来の変更に関連するためです。

ここで見るべき別のアプローチはありますか?

ありがとう、クリス

4

1 に答える 1

8

あなたが言及しているのはバイテンポラルデータモデルだと思います。つまり、「2000 年の米国大統領選挙で誰が勝ったか」だけでなく、「2000 年の選挙日の夜の米国大統領選挙で誰が勝ったと私たちは考えていたのか」についても答えることができます。

一般に、イベント ストリームは、すべてのクエリとバイテンポラル クエリに効率的に応答するように構築されているとは限りません。それは単にあなたが学んだ事実の歴史です。昨年の事実を今日知った場合、それは引き続きイベント ストリームの最後に属しますが、関連する日付が付けられます。

このデータをクエリする最適な方法は、回答したい質問の種類によって異なります。イベント ストリームをフィードするプロジェクターによって生成される一時的およびバイテンポラル データベース スキーマの作成方法に関する優れた論文がいくつかあります。

于 2012-05-15T02:47:08.150 に答える