Cloud SQL-Lesepools unterstützen das Load-Balancing für Ihre großen Lese-Arbeitslasten.
Was sind Lesepools?
Ein Lesepool ist eine Sammlung von Lesereplikatinstanzen, die zum Verteilen Ihrer großen Lesearbeitslasten verwendet werden. Diese Arbeitslasten können von der primären Instanz zum Lesepool umgeleitet werden, um die primäre Instanz zu entlasten.
Jedes Lesereplikat im Lesepool wird als Lesepoolknoten bezeichnet.
Sie können Ihren Lesepool auf verschiedene Arten skalieren:
- Ein- oder Ausskalieren: Skalieren Sie die Load-Balancing-Kapazität horizontal, indem Sie die Anzahl der Lesepoolknoten im Lesepool ändern. Jeder Lesepool unterstützt zwischen 1 und 20 Lesepoolknoten.
- Hoch- oder herunterskalieren: Die Load-Balancing-Kapazität wird vertikal skaliert, indem der Maschinentyp geändert wird, der einem Lesepoolknoten zugeordnet ist. Nach der Definition wird die Konfiguration einheitlich auf jeden Knoten im Lesepool angewendet.
Wenn Sie die Einstellungen für Lesepoolknoten ändern, z. B. Speicher, Konnektivität oder Datenbankkonfigurationsflags, werden die Änderungen automatisch einheitlich auf alle Lesepoolknoten im Lesepool angewendet.
Der Lesepool ist über einen einzelnen Leseendpunkt mit einer unveränderlichen IP-Adresse zugänglich. Verbindungen, die über den Endpunkt hergestellt werden, werden automatisch zu einem der Knoten im Lesepool weitergeleitet. Wenn der Lesepool skaliert werden soll, müssen Anwendungen, die zuvor mit diesem einzelnen Leseendpunkt verbunden waren, nicht neu konfiguriert werden. Das gilt auch, wenn Sie neue Lesepoolknoten im Lesepool erstellen oder vorhandene löschen.
Jeder Knoten im Lesepool hat auch eine eigene IP-Adresse. Diese IP-Adressen sind zwar nicht als effizienter Ansatz für den Zugriff auf Ihre Daten zu empfehlen, Sie können sie jedoch verwenden, um die Leistung einzelner Knoten im Lesepool zu beheben.
Weitere Informationen zum Abrufen der Verbindungsinformationen für den Lesepool oder die Lesepoolknoten (entweder IP-Adressen oder ein Verbindungsstring) finden Sie unter Informationen zum Lesepool ansehen.
Es gelten die folgenden Merkmale:
- Lesepoolknoten des Lesepools befinden sich immer in derselben Region, wie vom Nutzer angegeben. Google Cloud alternates read pool node residency among all zones in the region.
- Eine primäre Instanz kann einen oder mehrere Lesepools haben.
- Bei den folgenden Vorgängen kommt es zu Ausfallzeiten von unter einer Sekunde:
- Hoch- oder Herunterskalieren (Hinzufügen oder Entfernen von Knoten im Lesepool).
- Hoch- oder Herunterskalieren (Ändern des Maschinentyps der Knoten im Pool).
- Ein vorhandenes zonales Lesereplikat in einen Leserpool konvertieren.
- Ein Lesepool wird vor seiner primären Instanz gewartet, ähnlich wie Lesereplikate. Wie Lesereplikate werden auch Lesepools während des Wartungsfensters der primären Instanz gewartet.
- Für jeden Lesepoolknoten sind dieselben Messwerte wie für ein Cloud SQL-Lesereplikat verfügbar.
- Wenn Sie
gcloud
oder die Google Cloud -Konsole verwenden, um die Details eines Projekts zu beschreiben, wird der Name des Lesepools aufgeführt, nicht aber die Namen der einzelnen Knoten des Lesepools.
Beschränkungen
Es gelten folgende Einschränkungen:
- Lesepools sind nur für Cloud SQL Enterprise Plus-Instanzen in der neuen Netzwerkarchitektur verfügbar. Die primäre Instanz, die einem Lesepool zugeordnet ist, muss ebenfalls eine Cloud SQL Enterprise Plus-Instanz sein.
- Der Traffic wird von Lesepoolknoten bereitgestellt, je nachdem, ob die Datenbank fehlerfrei ist. Die Höhe der Replikationsverzögerung auf diesem Lesepoolknoten spielt dabei keine Rolle. Der Traffic kann von einem verzögerten Lesepoolknoten bereitgestellt werden, auch wenn ein anderer Lesepoolknoten verfügbar ist, der nicht verzögert ist. Eine Datenbank gilt als fehlerfrei, wenn der Datenbankprozess läuft und Anfragen beantworten kann. Es gibt jedoch keine Anforderungen daran, wie aktuell die bereitgestellten Daten sein müssen.
- Es gibt keine Garantie dafür, dass eine einzelne logische Sitzung eine Verbindung zu mehreren Lesepoolknoten im Lesepool herstellt. Es ist möglich, dass spätere Anfragen in einer Sitzung eine Verbindung zu einem Knoten des Lesepools herstellen, der eine niedrigere Replikationsposition (LSN) hat als der Knoten des Lesepools, der eine frühere Anfrage verarbeitet hat. Dadurch kann es so aussehen, als würde der Status der Datenbank in der Zeit zurückgehen.
- Die folgenden Arten von Updates werden nicht unterstützt:
- Lesepools erhalten weiterhin Cloud SQL-Wartungsupdates, aber Sie können Ihren Lesepool nicht auf eine neue Hauptversion der Datenbank aktualisieren.
- Knoten des Lesepools starten oder beenden
- Zusätzlich zu den Vorgängen, die auf Lesereplikaten nicht unterstützt werden, werden die folgenden Vorgänge in Lesepools nicht unterstützt:
- Replikat hochstufen
- restart
- import
- export
- failover
- neu verschlüsseln
- clone
- Die folgenden Funktionen können nicht mit einem Lesepool verwendet werden:
- Private Service Connect
- SSL/TLS-Zertifikate mit gemeinsamer Zertifizierungsstelle oder vom Kunden verwalteter Zertifizierungsstelle
- Ein Lesepool kann nicht auf eine andere Instanz repliziert werden, z. B. auf ein kaskadierendes Replikat oder einen anderen Lesepool.
- Ein Lesepool muss direkt aus einer primären Instanz repliziert werden. Es darf kein kaskadierendes Replikat sein.
- Wenn Sie ein regionales Lesereplikat in einen Lesepool konvertieren möchten, müssen Sie es zuerst in ein zonales Lesereplikat konvertieren.
- Wenn Sie einen Lesepool erstellen oder skalieren, müssen Sie warten, bis die vorherigen Vorgänge zum Erstellen, Verkleinern oder Vergrößern des Pools abgeschlossen sind. Diese Einschränkung gilt für alle anderen Lesepools, die mit derselben primären Instanz verknüpft sind. Wenn Sie mehrere Lesepools skalieren möchten, die mit derselben primären Instanz verknüpft sind, müssen Sie warten, bis die Skalierungsvorgänge für den ersten Lesepool abgeschlossen sind, bevor Sie mit der Skalierung des nächsten Lesepools beginnen. Wenn Sie gleichzeitige Anfragen senden, erhalten Sie möglicherweise den folgenden Fehler:
Operation failed because another operation was already in progress.
. - Nur ein zonales Replikat, das sich in derselben Region wie das primäre Replikat befindet, kann für die Verwendung in einem Lesepool konvertiert werden.
- Sie können keine Lesepoolknoten hinzufügen oder entfernen, während Sie gleichzeitig ihren Maschinentyp ändern.
- Wenn Ihre Anwendung eine Verbindung zu einem dedizierten Lesereplikat herstellen muss, z. B. aufgrund von sekundären Indexen, die in einem bestimmten Lesereplikat vorhanden sind, erstellen Sie ein Cloud SQL-Lesereplikat und verwenden Sie es stattdessen.
- Sie können keine bestimmten Nutzer und Datenbanken abfragen, die einem Lesepool zugeordnet sind. Da Cloud SQL Studio auf Daten basiert, die von Nutzern und Datenbanken bereitgestellt werden, wird Cloud SQL Studio nicht mit Lesepools unterstützt.