Unterschied Replikation und Spiegelung

andi1377

New Member
Hallo,

ich bin ein Neuling bezüglich Datensicherung.
Wir betreiben eine SQL2005-Server Datenbank.
Dabei sind mir die Begriffe Replikation und Spiegelung begegnet.
Kann mir einer die Unterschiede erklären?

gruss
andi
 
Diese Begriffe werden häufig durcheinander geschmissen und verwechselt oder seltsam definiert. Daher sage ich einfach mal in einfachen Worten was ich darunter verstehe:

Replikation:
2 Datenbanken mit (fast) identischen Inhalten auf denen beiden gearbeitet (insert, update, delete) werden kann. Die beiden DB's replizieren sich gegenseitig. D.h. jede Datenveränderung wird der jeweils anderen DB mitgeteilt.
Dies kann Synchron oder Asynchron (z.B. alle 5 Minuten; daher das 'fast' von oben) geschehen.

Spiegelung:
2 Datenbanken mit (fast) identischen Inhalten. Aber nur auf einer (master-) DB können Daten verändert werden. Die andere dient lediglich dem Backup, Fallback oder für select's.
Auch hier kann die Datenübertragung Synchron oder Asynchron stattfinden.

huschi.
 
Bei der Replikation hast du einen Verteiler- und Verlegerserver. Dort erstellst du auf eine Datenbank eine Publikation, die einen oder mehrere Artikel enthalten kann. Ein Artikel kann dort z. B. aus Tabellen bestehen, die natürlich auch noch vertikal oder horizontal gefiltert werden können.

Zu dieser Publikation wird eine Replikationsmethode gewählt, wie z. B. die Snapshot- oder Transaktionsreplikation.

Auf der anderen Seite hast du dann einen Abonennten, der diese Publikation abonniert und per Push- oder Pull-Verfahren Aktualisierungen erhält, aber auch Änderungen senden könnte.

Beispiel: Du hast einen zentralen Server, auf dem die Umsätze deiner Verkaufsregionen Nord, Süd, Ost u. West gespeichert werden. Die einzelnen Standorte erhalten per Replikation die für sie relevanten Daten und geben dann ihre Änderungen an die Zentrale zurück. Dies wäre dann z. B. eine Mergereplikation.

Wofür ist Replikation?

Daten sollen verteilt und für Benutzer problemlos verfügbar gemacht werden. Es werden sozusagen Kopien der Daten erstellt, die in einem losen Verbund verteilt werden können. Dabei muss das Ziel nicht unbedingt ein SQL 2005 Server (Standard- oder Enterprise) sein, sondern auch ein Vertriebsmitarbeiter, der mit dem auf seinem Notebook installierten SQL 2005 Express arbeitet.


Wenn man von Datenbankspiegelung im SQL 2005 spricht, besteht vom Unternehmen die Anforderung, einen Server mit hoher Verfügbarkeit zu gewährleisten.

Nicht jedes Unternehmen kann sich einen Failover-Cluster leisten und als "kleinere" Alternative könnte man dort die Spiegelung einordnen.

Dort gibt es einen Prinzipalserver, der die Datenbank bereitstellt, optional einen Zeugenserver, der den primären und den Spiegeldatenbankserver überwacht und den Spiegelserver. Es gibt verschiedene Betriebsmodi, wie z. B. "hohe Verfügbarkeit", "hoher Schutz" oder "hohe Leistung". Die Datenbank auf dem Spiegelserver befindet sich im Wiederherstellungs-Modus.

Der Vorteil bei der Spiegelung ist, dass Clients, die per SQL Native Client oder .NET-Framework 2.0-Datenprovider auf die Datenbank zugreifen im Falle eines Ausfalls automatisch und für sie transparent zum Spiegelserver weitergeleitet werden. Bei anderen Datenzugriffstechnologien müsste der Client bei einem Serverausfall angepasst werden.

Spiegelung wird zur Gewährleistung der Redundanz auf individueller Datenbankebene verwendet. Oder auch wenn das Unternehmen nicht in clusterfähige Hardware investieren oder einfach weniger Verwaltungsaufwand betreiben möchte, wie das bei einem Failover-Cluster der Fall wäre.

Datenbankspiegelung und Replikation (Heterogen o. Peer-to-Peer) übrigens nur möglich mit Enterprise-, bzw. Developers-Edition.
 
Dabei sind mir die Begriffe Replikation und Spiegelung begegnet.
Kann mir einer die Unterschiede erklären?

Replikation -> Wiederholung
Bei der Replikation werden alle Aktionen auf die Repliken übertragen. Diese führen die selben Aktionen aus. Dadurch haben dann alle Instanzen den gleichen Stand.

Spiegelung -> Abbild erstellen
Bei der Spiegelung wird das Ergebnis einer Aktion übertragen. Die Instanzen haben alle den selben Stand, da der Master alle geänderten Daten 1:1 auf die anderen Instanzen überträgt.
 
Back
Top