Durch Replikation können Kopien einer Cloud SQL-Instanz erstellt und die Arbeit auf die Kopien übertragen werden.
Einführung
Der Hauptgrund für die Verwendung der Replikation besteht darin, die Nutzung von Daten in einer Datenbank zu skalieren, ohne dabei die Leistung zu beeinträchtigen.
Weitere Gründe für die Replikation sind die Migration von Daten zwischen Regionen.
Wenn eine ursprüngliche Instanz beschädigt ist, kann ein Replikat außerdem zu einer eigenständigen Instanz hochgestuft werden. In diesem Fall wird diese Instanz von vorhandenen Replikaten nicht als primäre Instanz betrachtet.
Wenn es sich um eine Cloud SQL-Instanz handelt, werden die replizierte Instanz als primäre Instanz und die Kopien als Lesereplikate bezeichnet. Die primäre Instanz und die Lesereplikate befinden sich alle in Cloud SQL.
Wenn das erste Replikat erstellt wird:
- Für die primäre Instanz wird das vollständige Wiederherstellungsmodell für alle Datenbanken festgelegt, die sich derzeit auf der primären Instanz befinden.
Ein temporäres Laufwerk wird erstellt und eine vollständige Sicherung wird erstellt und auf dem temporären Laufwerk gespeichert. Das temporäre Laufwerk wird nach Abschluss der Replikaterstellung gelöscht.
Wenn der Nutzer während der ersten Replikaterstellung zum einfachen Wiederherstellungsmodell wechselt, schlägt die Replikaterstellung fehl.
Folgendes gilt für Datenbanken, die der primären Instanz nach dem Erstellen der Replikate hinzugefügt werden:
- Die Datenbanken werden den Verfügbarkeitsgruppen automatisch hinzugefügt und anhand von automatisches Seeding in den Replikaten ausgefüllt.
- Jede Erstellung eines Replikats ruft eine vollständige Sicherung (vollständiges Wiederherstellungsmodell) von Datenbanken auf der primären Instanz auf. Nach dem Replikat erstellte Anmeldungen und Serverobjekte werden nicht repliziert.
Cloud SQL unterstützt die folgenden Replikattypen:
Cloud SQL unterstützt keine Replikation zwischen zwei externen Servern.
Lesereplikate
Lesereplikate werden verwendet, um Cloud SQL-Instanzen zu entlasten. Das Lesereplikat ist eine exakte Kopie der primären Instanz. Daten und andere Änderungen an der primären Instanz werden nahezu in Echtzeit auf dem Lesereplikat aktualisiert.
Lesereplikate gewähren nur Lesezugriff. Schreibvorgänge sind nicht möglich. Das Lesereplikat verarbeitet Abfragen, Leseanfragen und Analysetraffic. Dadurch wird die Last für die primäre Instanz reduziert. Es sind bis zu 8 Lesereplikate pro primäre Instanz möglich.
Verbindungen zu Replikaten werden direkt über deren Verbindungsnamen und IP-Adressen hergestellt. Wenn Sie eine Verbindung zu einem Replikat über eine private IP-Adresse herstellen, müssen Sie keine zusätzliche private VPC-Verbindung für das Replikat erstellen, da die Verbindung von der primären Instanz übernommen wird.
Weitere Informationen zum Erstellen eines Lesereplikats finden Sie unter Lesereplikate erstellen. Weitere Informationen zum Verwalten eines Lesereplikats finden Sie unter Lesereplikate verwalten.
Als Best Practice sollten Sie Lesereplikate in einer anderen Zone als die primäre Instanz platzieren, wenn Sie HA auf Ihrer primären Instanz verwenden. Dadurch wird sichergestellt, dass Lesereplikate weiter funktionieren, wenn die Zone mit der primären Instanz ausfällt. Weitere Informationen finden Sie unter Hochverfügbarkeit.
Geeigneten Maschinentyp auswählen
Lesereplikate können einen anderen Maschinentyp haben als der primäre Server. Sie sollten Messwerte auf Ihrer Instanz überwachen, z. B. die CPU- und Arbeitsspeichernutzung, damit die Replikatinstanz für ihre Arbeitslast korrekt dimensioniert wird, insbesondere wenn sie kleiner als die primäre Instanz ist. Eine Replikatinstanz mit geringer Größe ist anfälliger für eine schlechte Leistung, z. B. häufige OOM-Ereignisse (Out-of-Memory).
Regionenübergreifende Lesereplikate
Mit der regionenübergreifenden Replikation können Sie ein Lesereplikat in einer anderen Region als der primären Instanz erstellen. Sie erstellen ein regionsübergreifendes Lesereplikat genauso wie ein Replikat für eine einzige Region.
Bei SQL Server-Lesereplikaten wird davon ausgegangen, dass sich das Replikat im selben virtuellen Netzwerk wie das primäre Replikat befindet oder dass die Replikate über öffentliche IP-Adressen kommunizieren.Regionenübergreifende Replikate:
- verbessern die Leseleistung, da Replikate geografisch näher an Ihrer Anwendung verfügbar gemacht werden,
- stellen eine zusätzliche Notfallwiederherstellungsfunktion bereit, damit Sie vor dem Ausfall einer ganzen Region geschützt sind und
- ermöglichen die Datenmigration von einer Region in eine andere.
Weitere Informationen zu regionenübergreifenden Replikaten finden Sie unter Regionenübergreifende Replikate.
Anwendungsfälle für Replikation
Für jeden Replikationstyp gelten die folgenden Anwendungsfälle:
Name | Primär | Replikat | Vorteile und Anwendungsfälle | Weitere Informationen |
---|---|---|---|---|
Lesereplikat | Cloud SQL-Instanz | Cloud SQL-Instanz |
|
|
Regionenübergreifendes Lesereplikat | Cloud SQL-Instanz | Cloud SQL-Instanz |
|
|
SQL Server-Replikation | Instanz außerhalb von Cloud SQL | Cloud SQL for SQL Server-Instanz |
|
Abrechnung
- Für ein Lesereplikat wird derselbe Preis berechnet wie für eine Cloud SQL-Standardinstanz. Für die Datenreplikation entstehen keine Gebühren.
- Die Preise für das regionenübergreifende Lesereplikat sind dieselben wie beim Erstellen einer neuen Cloud SQL Instanz in der Region. Unter Cloud SQL-Instanzpreise können Sie sich weiter informieren und die geeignete Region auswählen. Neben den regulären Kosten für die Instanz fallen für ein regionenübergreifendes Replikat Gebühren für regionenübergreifende Datenübertragung für Replikationslogs an, die von der primären Instanz an die Replikatinstanz gesendet werden, wie unter Preise für ausgehenden Netzwerktraffic beschrieben.
Kurzreferenz für Cloud SQL-Lesereplikate
Thema | Diskussion |
---|---|
Sicherungen | Sie können keine Sicherungen auf dem Replikat konfigurieren. |
Kerne und Arbeitsspeicher | Für Lesereplikate kann eine andere Anzahl von Kernen und Arbeitsspeicher verwendet werden als für die primäre Instanz. |
Primäre Instanz löschen | Bevor Sie eine primäre Instanz löschen können, müssen Sie alle zugehörigen Lesereplikate auf eigenständige Instanzen hochstufen oder die Lesereplikate löschen. |
Replikat löschen | Wenn Sie ein Replikat löschen, hat dies keine Auswirkungen auf den Status der primären Instanz. |
Replizierte Datenbank löschen | Sie können eine replizierte SQL Server-Datenbank mithilfe der Google Cloud Console oder des gcloud -Befehls löschen. Der Löschvorgang wird automatisch an die Replikate weitergegeben. Sie können eine replizierte SQL Server-Datenbank nicht mit T-SQL-Befehlen löschen. |
Failover | Eine primäre Instanz kann nur dann ein Failover auf ein Replikat ausführen, wenn das Replikat ein DR-Replikat ist. Lesereplikate können während eines Ausfalls keinen Failover ausführen. |
Load Balancing | Cloud SQL unterstützt kein Load-Balancing zwischen Replikaten. |
Wartungsfenster | Sie können keine Wartungsfenster für ein Lesereplikat konfigurieren. Lesereplikate teilen sich jedoch Wartungsfenster mit der primären Instanz. Während der Wartung aktualisiert Cloud SQL zuerst alle Lesereplikate, bevor die primäre Instanz aktualisiert wird. |
Mehrere Lesereplikate | Sie können für jede primäre Instanz bis zu acht Lesereplikate erstellen. |
Private IP-Adresse | Wenn Sie eine Verbindung zu einem Replikat über eine private IP-Adresse herstellen, müssen Sie keine zusätzliche private VPC-Verbindung für das Replikat erstellen, da diese von der primären Instanz übernommen wird. |
Primäre Instanz wiederherstellen | Sie können die primäre Instanz eines Replikats nicht wiederherstellen, solange das Replikat vorhanden ist. Bevor Sie eine Instanz aus einer Sicherung wiederherstellen oder darauf eine Wiederherstellung zu einem bestimmten Zeitpunkt durchführen, müssen Sie alle zugehörigen Replikate hochstufen oder löschen. |
Einstellungen | Die Einstellungen der primären Instanz werden an das Replikat weitergegeben, einschließlich Änderungen an den Daten zu Nutzern, die auf die Instanz zugreifen können. |
Replikat anhalten | Der Befehl stop ist bei Replikaten nicht verfügbar. Sie können restart oder delete verwenden, aber Sie können sie nicht wie eine primäre Instanz anhalten. |
Replikatupgrade | Upgrades können bei Lesereplikaten jederzeit Betriebsunterbrechungen verursachen. |
Nutzertabellen | Sie können keine Änderungen am Replikat vornehmen. Alle Nutzeränderungen müssen auf der primären Instanz durchgeführt werden. |
Beschränkungen
Dieses Feature gilt nur für die folgenden Versionen von Cloud SQL for SQL Server:
- SQL Server 2017 Enterprise
- SQL Server 2019 Enterprise
- SQL Server 2022 Enterprise
Anmeldungen werden nicht an ein Replikat weitergegeben.
Sie müssen das Replikat mit T-SQL und/oder SQL Server Management Studio überwachen.
Bevor Sie eine Datenbank löschen, müssen Sie Ihre Datenbankverbindungen schließen.
Wenn Sie ein Replikat erstellen, darf die primäre Instanz keine Datenbanken im Einzelnutzermodus enthalten. Andernfalls schlägt die Replikaterstellung fehl.
Nächste Schritte
- Informationen zur Erstellung eines Lesereplikats
- Informationen zum Konfigurieren von Instanzen für Hochverfügbarkeit