Kopiert die SQL Server-Snapshot-Replikation die Daten jedes Mal vollständig oder werden Deltas ausgegeben?


11

Ich betrachte die Snapshot-Replikation zwischen zwei Servern. Folgendes habe ich:

  • 500 GB Datenbank
  • ~ 500 MB nächtliche bcp-Lasten
  • ~ 50 MB tägliche Transaktionen

Ich habe andere Datenbankadministratoren in der Firma gefragt, welcher Replikationstyp verwendet werden soll. Mir wurde gesagt, dass ich die Snapshot-Replikation verwenden soll. Soweit ich weiß und gelesen habe, kopiert der Snapshot jeden Abend nach dem Laden die Datenbank vollständig auf den Distributor und überschreibt dann den anderen Server vollständig.

Funktionieren Schnappschüsse in Deltas oder handelt es sich jedes Mal um eine vollständige Kopie?


2
Es hört sich nicht so an, als wäre die Snapshot-Replikation hier die beste Wahl.
Thomas Stringer

Antworten:


8

Aus Online-Büchern:

Die Snapshot-Replikation verteilt Daten genau so, wie sie zu einem bestimmten Zeitpunkt angezeigt werden, und überwacht nicht auf Aktualisierungen der Daten. Bei der Synchronisierung wird der gesamte Snapshot generiert und an Abonnenten gesendet.

Die Verwendung der Snapshot-Replikation allein ist am besten geeignet, wenn eine oder mehrere der folgenden Bedingungen erfüllt sind:

  1. Daten ändern sich selten.

  2. Es ist akzeptabel, Kopien von Daten zu haben, die in Bezug auf den Verlag für einen bestimmten Zeitraum veraltet sind.

  3. Kleine Datenmengen replizieren.

  4. Innerhalb kurzer Zeit treten große Änderungen auf.

Die Snapshot-Replikation ist am besten geeignet, wenn Datenänderungen erheblich, aber selten sind. Wenn eine Verkaufsorganisation beispielsweise eine Produktpreisliste führt und die Preise alle ein- oder zweimal pro Jahr zur gleichen Zeit aktualisiert werden, wird empfohlen, den gesamten Snapshot der Daten nach deren Änderung zu replizieren. Bei bestimmten Datentypen können auch häufigere Schnappschüsse angebracht sein. Wenn beispielsweise tagsüber eine relativ kleine Tabelle beim Publisher aktualisiert wird, eine gewisse Latenz jedoch akzeptabel ist, können Änderungen jede Nacht als Momentaufnahme übermittelt werden.

Die Snapshot-Replikation hat auf dem Publisher einen geringeren kontinuierlichen Overhead als die Transaktionsreplikation, da inkrementelle Änderungen nicht nachverfolgt werden. Wenn das zu replizierende Dataset jedoch sehr groß ist, sind erhebliche Ressourcen erforderlich, um den Snapshot zu generieren und anzuwenden. Berücksichtigen Sie die Größe des gesamten Datensatzes und die Häufigkeit von Änderungen an den Daten, wenn Sie bewerten, ob die Snapshot-Replikation verwendet werden soll.

Daher werden keine Deltas generiert, sondern die gesamte Datenbank wird mit einem Snapshot versehen und repliziert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.