このポータルに関する以前の質問では、SQLServerとKey-Valueベースのデータリポジトリ間でデータを同期することについての洞察について質問しました。
同じ問題(SQLからHBaseまたは他のデータベースへの一方向のリアルタイム同期)の代わりに、パフォーマンスとレイテンシーの考慮事項に注意を払う必要があり、それを行うための非常に確実な方法は見つかりませんでした。
複数のSQL2008データシャードがあり、データはさまざまなソースから更新され、同時に多くのプロセスによって処理されます(UIは同じシャードから読み取ります)。
目標は、選択したテーブルのすべての更新をいつでも取得し、それらをほぼリアルタイムで他のデータソースに転送することです。
SQLシャードの変更量は、100〜500 MBの範囲にとどまります(1分の頻度を維持する場合)。システム全体を移行した後にSQLサーバーを破棄するため、SQLサーバーに大きな変更を加えたくありません。
残念ながら、私たちのデータアクセス層はさまざまな層で混乱しています。そうでなければ、それは2つの方向に更新をフォークするための最良の方法でした。
トリガーはシャードの速度を低下させ、応答しない状態のままにします。
SQLServer2008にSQLServer2005通知サービスに類似したものがあるかどうか、およびそれがどれほど効果的かはわかりません。
他の革新的なソリューションは非常に役立ちます。
ここでの私の問題は、データをリレーショナル形式からキー値形式に変換することではなく(かなり簡単です)、ユーザーエクスペリエンスに影響を与えることなくSQL Serverの更新をリアルタイムで取得する方法(1〜2分の遅延を許容できる)です。 。