Empfohlen, 2019

Tipp Der Redaktion

Unterschied zwischen Spiegelung und Replikation

Spiegelung und Replikation sind Begriffe, die sich auf das Kopieren von Daten in einem DBMS beziehen. Der Hauptunterschied zwischen Spiegelung und Replikation besteht darin, dass Spiegelung das Kopieren einer Datenbank an einen anderen Speicherort bedeutet, während die Replikation die Kopie von Daten und Datenbankobjekten von einer Datenbank in eine andere Datenbank einschließt.

Sowohl das Spiegeln als auch die Replikation sind vorteilhaft und erhöhen die Verfügbarkeit und Leistung der Daten oder Datenbanken.

Vergleichstabelle

Basis zum VergleichSpiegelnReplikation
BasicErstellung einer Datenbankkopie an einem anderen Ort (Maschine).Erstellung von Daten und Datenbankobjekt zur Verbesserung der Verteilungsvorgänge.
Durchgeführt aufDatenbankNur Daten- und Datenbankobjekte
Liegt amUnterschiedliche MaschineUnterschiedliche Datenbank
KostenSehr teuerPreiswert
Verteilte DatenbankKeine Unterstützung für verteilte DatenbankenUnterstützt verteilte Datenbanken

Definition von Spiegeln

Bei der Spiegelung werden mehrere Kopien von Datenbanken erstellt. Dies wird auch als Spiegelung bezeichnet. Diese Datenbankkopien befinden sich normalerweise auf einem anderen Computer. Wenn ein primärer Server abstürzt oder zu Wartungszwecken in Anspruch genommen wird, kann das System zu diesem Zeitpunkt automatisch auf die gespiegelte Datenbank umstellen. Zu jeder Zeit kann nur eine Kopie aufgerufen werden.

Die enge Kopplung zwischen der Primärdatenbank und der gespiegelten Datenbank wird mit Hilfe des Sendens von Blöcken des Transaktionsprotokolls an die gespiegelte Datenbank hergestellt. Im Falle eines Fehlers können die Daten auch wiederhergestellt werden, indem sie von einer Datenbank in eine andere kopiert werden. Bei einem Failover wird die Spiegeldatenbank zur Prinzipaldatenbank.

Bei der Spiegelung werden die Aktualisierungs-, Einfüge- und Löschvorgänge, die in einer Primärdatenbank festgeschrieben sind, ohne Verzögerung in die gespiegelte Datenbank übernommen. In einem vollständig sicheren Modus kann eine Transaktion nicht festgeschrieben werden, bis die Protokolldatensätze für die Transaktion auf dem Spiegel auf der Festplatte gespeichert wurden. Die Spiegelung unterstützt keine verteilte Datenbank.

Definition der Replikation

Bei der Replikation werden redundante Daten und Datenbankobjekte in verschiedenen Datenbanken verteilt, um die Verfügbarkeit der Daten zu verbessern. Es ist in der Lage, die Unternehmensdaten von geografisch verteilten Standorten aufzurollen und die Daten an entfernte Benutzer in lokalen Netzwerken oder im Internet zu verbreiten. Es erhöht die Ausführung der parallelen Befehle.

In Microsoft SQL Server ist der Herausgeber eine Entität, die die Daten für die Replikation auf andere Server bereitstellt. Der Abonnent ist ein Server, der die replizierten Daten normalerweise von einem Herausgeber erhält.

Im Microsoft SQL-Server stehen drei Arten von Optionen für den Replikationsvorgang zur Verfügung: Snapshot-Replikation, Transaktionsreplikation und Mergereplikation.

  • Die Snapshot-Replikation kopiert die Daten- und Datenbankobjekte so, wie sie sofort angezeigt werden.
  • Die Transaktionsreplikation generiert einen ersten Snapshot der Daten an den Abonnenten. Anschließend wird die inkrementelle Änderung als diskreter Prozess an den Abonnenten gesendet. Unter Transaktionsreplikation werden zwei Replikationsprozesse definiert, nämlich der Protokolllese-Agent und der Verteilungsagent. Der frühere Prozessprotokolllese- Agent liest die Transaktionen aus dem Transaktionsprotokoll der Datenbank, wendet einen optionalen Filter an und speichert sie in einer Verteilungsdatenbank, die einer Warteschlange ähnelt, die den Speicher unterstützt und Vorwärtsmechanismus der Transaktionsreplikation. Der letztere Prozessverteilungsagent leitet die Änderungen an jeden Teilnehmer weiter.
  • Durch die Mergereplikation kann jedes Replikat selbst verwaltet werden, unabhängig davon, ob es online oder offline ist. Immer wenn Änderungen an den Metadaten des veröffentlichten Objekts vorgenommen werden, werden sie bis zum Ende des Abonnenten und des Herausgebers zurückverfolgt. Die Instanz von Daten- und Datenbankobjekten wird nicht repliziert.

Die Daten können mithilfe von Datenbanktriggern mithilfe bestimmter Tools repliziert werden. Die spezialisierte gespeicherte Prozedur in der Datenbank weist den Replikationsagenten an, die Änderungen zu erfassen und zu transportieren. Die Replikation kann auch mit der Datenbankspiegelung verwendet werden, die über einen Verteiler verfügen sollte.

Hauptunterschiede zwischen Spiegelung und Replikation

  1. Bei der Spiegelung wird eine Datenbank dupliziert, die auf verschiedenen Computern gespeichert ist, wobei die ursprüngliche Datenbank als Primärdatenbank und die kopierte Datenbank als Spiegelung bezeichnet wird. Bei der Replikation handelt es sich andererseits um die Duplizierung von Daten und Datenbankobjekten, die an einem anderen Ort gespeichert sind, um die Leistung der Verteilungsdatenbank zu verbessern.
  2. Die Spiegelung wird für die Datenbank ausgeführt, während die Replikation für Daten- und Datenbankobjekte implementiert wird.
  3. Die Spiegeldatenbank befindet sich normalerweise auf einer anderen Maschine als ihrer Primärdatenbank. Die replizierten Daten- und Datenbankobjekte werden dagegen in einer anderen Datenbank gespeichert.
  4. Die Spiegelung der Datenbankkosten ist höher als die Replikation.
  5. Die Spiegelung unterstützt keine verteilte Umgebung, während die Replikation für die verteilte Datenbank konzipiert wurde.

Fazit

Spiegelung und Replikation sind die Methoden, mit denen die Verfügbarkeit, Zuverlässigkeit und Leistung von Daten verbessert werden können. Bei der Spiegelung werden jedoch redundante Kopien einer Datenbank benötigt, während bei der Replikation Daten und Datenbankobjekte wie Tabellen, gespeicherte Prozeduren, benutzerdefinierte Funktionen, Ansichten, materialisierte Ansichten usw. dupliziert werden.

Top