Datenbankreplikation oder -spiegelung?

8

Was ist der Unterschied zwischen Replikation und Spiegelung in SQL Server 2005?

    
Server_Mule 29.05.2009, 03:24
quelle

5 Antworten

9

Kurz gesagt, ermöglicht Ihnen die Spiegelung, dass ein zweiter Server eine "heiße" Standby-Kopie des Hauptservers ist, der bereit ist, jeden Moment zu übernehmen, wenn der Hauptserver ausfällt. Spiegelung bietet also Fail-Over und Zuverlässigkeit.

Bei der Replikation hingegen können zwei oder mehr Server "synchron" bleiben. Das bedeutet, dass die sekundären Server Abfragen beantworten und (je nach Konfiguration) tatsächlich Daten ändern können (sie werden bei der Synchronisierung zusammengeführt). Sie können es auch für lokales Caching, Lastenausgleich usw. verwenden.

    
Danut Enachioiu 29.05.2009, 03:33
quelle
9

A.) Spiegelung: - Auf die Mirror-Datenbank kann nicht für Lese- oder Schreibzugriff zugegriffen werden.

Replikation: - Die Abonnenten-Datenbank (Backup-Site) ist offen für Lese- und Schreibvorgänge.

B.) Spiegelung: - Informationsfluss ist nur eine Möglichkeit (vom Principal zum Mirror Server)

Replikation: - Änderungen können zusammengeführt werden, bidirektionale Änderungen können vorgenommen werden, sodass die Informationen von Publisher zu Subscriber und umgekehrt fließen können.

C.) Spiegelung: - Bei einem Ausfall der Principal Database übernimmt die Mirror Database die Kontrolle und fungiert als Principal. Anwendungen können automatisch umgeleitet werden, um sich mit diesem neuen Principal Server zu verbinden. Sehr geringe Ausfallzeit. In der Anwendung ist keine Codeänderung erforderlich.

Replikation: - Im Fall eines Fehlers auf Publisher müssen Anwendungen manuell an den Abonnenten umgeleitet werden (falls Sie dies wirklich tun möchten), erfordert Codeänderung in der App oder die Verbindungszeichenfolge.

D.) Spiegelung: - Fast alles in der DB wird auf den DR-Standort repliziert, Schemaänderungen können einfach repliziert werden.

Replikation: - Sie haben die Möglichkeit, ausgewählte Tabellen / SP / Funktionen in der DB zu replizieren. Schemaänderungen können zu einem kleinen Schluckauf führen.

Kurz gesagt, Mirroring ist ein gutes Werkzeug für DR (Disaster Recovery) mit sehr geringen Ausfallzeiten, aber der Nachteil ist, dass die DR-Site nicht für Benutzer zugänglich sein wird, während Replikation verwendet werden kann Daten zwischen zwei Servern zusammenführen, kann als ein gutes Werkzeug für die Berichterstattung dienen, da die Backup-Site für die Benutzer zugänglich ist, kann auch eine DR-Lösung handeln.

Alles hängt davon ab, was Sie benötigen und welche Geschäftsanforderungen Sie haben, damit Sie die richtige Topologie in Ihrer Umgebung auswählen können.

    
Richa Aggarwal 02.09.2011 20:50
quelle
4

Mirroring ist eine Funktion, die eine Kopie Ihrer Datenbank auf Bit-Ebene erstellt. Grundsätzlich haben Sie die gleiche, identische Datenbank an zwei Stellen. Sie können Teile der Datenbank nicht optional auslassen. Sie können nur einen Spiegel haben, und der 'Spiegel' ist immer offline (er kann nicht geändert werden). Bei der Spiegelung wird das Datenbankprotokoll, das gerade erstellt wird, an den Spiegel gesendet und das Protokoll auf dem Spiegel angewendet (neu erstellt). Mirroring ist eine Technologie für hohe Verfügbarkeit und Notfallwiederherstellung.

Die Replikation ist eine Funktion, mit der "Slices" einer Datenbank zwischen mehreren Sites repliziert werden können. Das 'Slice' kann eine Menge von Datenbankobjekten (dh Tabellen) sein, aber es kann auch Teile einer Tabelle enthalten, wie nur bestimmte Zeilen (horizontales Slicing) oder nur bestimmte zu replizierende Spalten. Sie können mehrere Replikate verwenden und die Replikate können abgefragt und sogar aktualisiert werden. Die Replikation funktioniert, indem Änderungen (entweder durch Trigger oder durch Scannen des Protokolls) verfolgt und erkannt werden und die Änderungen als T-SQL-Anweisungen an die Abonnenten (Replikate) gesendet werden. Die Replikation ist eine Technologie, mit der Daten an externen Standorten verfügbar gemacht und Daten an zentralen Standorten konsolidiert werden können. Obwohl es manchmal für hohe Verfügbarkeit oder für die Wiederherstellbarkeit von Katastrophen verwendet wird, ist es eine künstliche Verwendung für ein Problem, das die Spiegelung und Protokollierung der Versandadresse verbessert.

Es gibt verschiedene Typen und Varianten der Replikation (Zusammenführung, Transaktion, Peer-to-Peer usw.) und sie unterscheiden sich darin, wie sie Change-Tracking oder Update-Propagation implementieren. Wenn Sie mehr Details wissen möchten, sollten Sie MSDN-Spezifikation für das Thema .

    
Remus Rusanu 29.05.2009 03:53
quelle
1

Die Datenbankspiegelung wird verwendet, um die Verfügbarkeit und Zuverlässigkeit der Datenbank zu erhöhen.

Die Replikation wird hauptsächlich dazu verwendet, Teile Ihrer primären Datenbank - den Herausgeber - an eine oder mehrere Abonnenten-Datenbanken zu verteilen. Dies geschieht häufig, um Daten auf Remoteservern verfügbar zu machen (normalerweise nur zum Lesen), damit Remoteclients auf die Daten lokal (für sie) und nicht direkt vom Publisher über eine langsamere WAN-Verbindung zugreifen können. Wie in den vorherigen Beiträgen angegeben, gibt es jedoch komplexere Szenarien, in denen Aktualisierungen für die Abonnenten zulässig sind. Es kann auch den Vorteil haben, die E / A-Belastung des Herausgebers zu reduzieren.

    
Howard Pinsley 29.05.2009 04:44
quelle
0

Bei der Datenbankspiegelung handelt es sich um eine SQL Server-Technologie, die eine Kopie einer Datenbank auf einer anderen SQL Server-Instanz verwaltet, während die Datenbankreplikation auf die Gruppe der Techniken verweist, in denen Daten kopiert und von einer Datenbank an eine andere verteilt werden nicht so skalierbar wie die Replikation, während die Replikation ideal für Berichte in Echtzeit geeignet ist. Ich habe ein hilfreiches Blog gefunden, mit dem Sie Ihre Konzepte klären könnten: Ссылка

    
Jason Clark 03.02.2018 06:31
quelle

Tags und Links