質問: このポータルに関する以前の質問では、SQL Serverとキーバリューベースのデータリポジトリ間でデータを同期する方法についていくつかの洞察を求めました。 同じ問題(SQLからHBaseまたは他のデータベースへのリアルタイム同期の一方向)の代わりに、パフォーマンスとレイテンシに関するいくつかの注意を払う必要があり、非常に簡単な方法ではありませんでした。 1. 私たちは、さまざまなソースからデータが更新され、同時に多くのプロセスによって処理される(そして同じシャードからUIが読み取る)複数のSQL 2008データ断片を持っています。 2. 目標は、任意の時点で選択されたテーブルですべての更新を取得し、ほぼリアルタイムで他のデータソースにそれらを転送することです。 3. SQLシャードの変更量は100〜500 MBの範囲内にとどまります(1分の頻度を維持する場合)。私たちは、完全なシステムを移行した後にSQLサーバを破棄するので、SQLサーバに大きな変更を加えるつもりはありません。 4. 残念ながら、私たちのデータアクセス層はさまざまな層に混乱しています。それ以外の場合は、更新を2つの方向にフォークする最良の方法でした。 5. **トリガー**はシャードを遅くし、それらを応答しない状態にします。 6. SQL Server 2008にSQL Server 2005 **Notification Services**と同様のものがあり、それがどれほど効果的であるかは不明です。 他の革新的な解決策があれば大いに役立ちます。 **ここで私の問題は、リレーショナルからデータをKey-Value**形式に**変換する**こと(それはかなり簡単です)ではなく、ユーザーエクスペリエンスに影響を与えることなくリアルタイムでSQL Serverの更新を取得する方法です(1〜2分の遅延があります) 。
回答: あなたはSQL Service Brokerを見ましたか?ここにいくつかの情報とのリンクがあります: http : //blogs.msdn.com/b/sql_service_broker/archive/2008/07/09/real-time-data-integration-with-service-broker-and-other-sql -techniques.aspx