私が所有しているサイトは、うまく動作している単純なCQRSアーキテクチャを持っています。イベントはさまざまなサブスクライバによって公開され、収集されます。そのうちの1つは、レポートデータベースを同期させます(RavenDb内)。クエリデータベースの再生成
たとえば、自分のレポートデータベースが壊れている/紛失しているとします。イベントソーシングでは、イベントを再生してレポートデータベースを再構築できますが、私は[現在]イベントソーシングを使用していません。私は、リレーショナルストアへのシンプルなnHibernate Persisterを持っています。解決策は、リレーショナルストア(たとえば、30xPersonLikedBlogPostEventの後にPersonCreatedEventなど)に基づいてすべてのイベントを送信する「再生」タイプのスクリプトを作成することですか?イベントソースと同じことを本質的にしていますが、イベントはリレーショナルモデルから推測されます。
ここでは、メンテナンス性とDRとしての種類は明らかに重要です。
ありがとうございます。私は、オブジェクト履歴などからの再生のメリットについてはあまり心配していませんが、RavenDbレポートデータベースを持つことは、サイトのパフォーマンスSLAにとって重要です。私はイベントソーシングに移っています。よろしく – sjhuk