0

SQL Server データベースから mongodb データベースにデータをレプリケートする単純なレプリケーターを書きたいと思います。

  1. 次以外のオプションは何ですか。

    a) 変更データ キャプチャ

    b) Sql依存関係

  2. 各オプションが sql-server db のパフォーマンスに与える影響は何ですか?
  3. テーブルに毎分 50 回の書き込みがある場合、どのオプションがより適切な候補であり、その理由は?
  4. 問題が発生してマシン/サーバーが再起動した場合のリカバリに適したオプションはどれですか?
4

3 に答える 3

1

CDC (+ Change Tracking) と SqlDependency は、さまざまな問題を解決し、さまざまなシナリオに対処します。SqlDependency は、アプリケーションのキャッシュ無効化メカニズムです。変更の追跡には適していません。CDC は、変更を追跡する必要があるアプリケーションを明示的にターゲットにしています。これは、変更を追跡するためのほぼ唯一の実行可能なメカニズムです。/dev/null追跡された変更を使用するかどうかは、変更を modngodbに書き込むなど、アプリケーション次第です (実際には同じことです)。

最初に MSDN の関連トピックを読み、データ変更の追跡から始めてください。

于 2015-12-18T20:01:58.303 に答える
1

いくつかの異なる理由から、このタイプの操作では CDC が好きです

  1. 正味の変化をキャプチャするように構成できます。キャプチャ間隔内で特定の行が 10 回更新されてもかまわない場合は、これが適しています。
  2. 変わったことを教えてくれます。どの操作でどの列が変更されたかがわかります。
  3. すべての列を追跡する必要はありません。ダウンストリーム データ ストア (この場合は MongoDB) に伝達する必要のない列がある場合は、追跡に含めないでください。
  4. 非同期です。CDC はログ リーダーを使用して、事後に発生した変更を特定するため、CDC のプライマリ アプリケーションの速度を落とす必要はありません。
于 2015-12-19T22:37:28.537 に答える