SQL Serverスナップショットレプリケーションは毎回完全にデータをコピーしますか、それともデルタを発行しますか?


11

2つのサーバー間のスナップショットレプリケーションを見ています。これが私が持っているものです:

  • 500GBデータベース
  • 〜500MBの毎晩のbcpロード
  • 〜50MBの毎日のトランザクション

使用するレプリケーションの種類について、社内の他のDBAに尋ねていました。スナップショットレプリケーションを使用するように言われました。ただし、私が理解して読んでいることから、ロード後の毎晩、スナップショットはデータベースをディストリビューターに完全にコピーし、他のサーバーを完全に上書きします。

スナップショットはデルタで機能しますか、それとも毎回完全なコピーですか?


2
スナップショットレプリケーションがここでの最良の選択であるとは思えません。
Thomas Stringer

回答:


8

オンラインの書籍から:

スナップショットレプリケーションは、特定の時点で表示されるとおりにデータを分散し、データの更新を監視しません。同期が発生すると、スナップショット全体が生成され、サブスクライバーに送信されます。

次の条件が1つ以上当てはまる場合は、スナップショットレプリケーションを単独で使用するのが最適です。

  1. データの変更はまれです。

  2. 一定期間パブリッシャーに関して古くなっているデータのコピーを保持することは許容されます。

  3. 少量のデータの複製。

  4. 短期間に大量の変更が発生します。

スナップショットレプリケーションは、データの変更が大幅で頻度が少ない場合に最も適しています。たとえば、販売組織が製品の価格表を管理していて、価格が毎年1回または2回同時に更新される場合、データの変更後のスナップショット全体を複製することをお勧めします。特定のタイプのデータを前提として、より頻繁なスナップショットも適切な場合があります。たとえば、比較的小さなテーブルがパブリッシャーで日中に更新されても、ある程度の待機時間は許容できる場合、変更をスナップショットとして毎晩配信できます。

スナップショットレプリケーションでは、増分変更が追跡されないため、トランザクションレプリケーションよりもパブリッシャーでの継続的なオーバーヘッドが低くなります。ただし、複製されるデータセットが非常に大きい場合は、スナップショットを生成して適用するために大量のリソースが必要になります。スナップショットレプリケーションを利用するかどうかを評価するときは、データセット全体のサイズとデータの変更頻度を考慮してください。

したがって、デルタは生成されず、データベース全体がスナップショットおよび複製されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.