Lesepools

Cloud SQL-Lesepools unterstützen das Load Balancing für große Leselasten.

Was sind Lesepools?

Ein Lesepool ist eine Sammlung von Lesereplikateninstanzen, mit denen große Lesearbeitslasten verteilt werden. Diese Arbeitslasten können von der primären Instanz zum Lesepool umgeleitet werden, um die Auslastung der primären Instanz zu reduzieren.

Jedes Lesereplikat im Lesepool wird als Lesepoolknoten bezeichnet.

Sie können Ihren Lesepool auf verschiedene Arten skalieren:

  • Hoch- oder herunterskalieren: 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: Sie können die Load Balancing-Kapazität vertikal skalieren, indem Sie den Maschinentyp ändern, der mit einem Lesepoolknoten verknüpft ist. Nach der Definition wird die Konfiguration einheitlich auf alle Knoten des Lesepools angewendet.

Wenn Sie Knoteneinstellungen für den Lesepool ändern, z. B. Speicher-, Verbindungs- 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 an einen der Knoten des Lesepools weitergeleitet. Wenn Sie den Lesepool skalieren möchten, müssen Anwendungen, die zuvor mit diesem einzelnen Leseendpunkt verbunden waren, nicht neu konfiguriert werden. Sie können jedoch neue Lesepoolknoten im Lesepool erstellen oder vorhandene löschen.

Jeder Lesepoolknoten hat auch eine eigene IP-Adresse. Diese IP-Adressen sind zwar nicht für den effizienten Zugriff auf Ihre Daten geeignet, Sie können sie jedoch verwenden, um Probleme mit der Leistung einzelner Lesepoolknoten 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 aufrufen.

Es gelten die folgenden Merkmale:

  • Lesepoolknoten befinden sich immer in der vom Nutzer angegebenen Region. Google Cloud wechselt den Speicherort des Lesepoolknotens zwischen allen Zonen in der Region.
  • Eine primäre Instanz kann einen oder mehrere Lesepools haben.
  • Bei den folgenden Vorgängen kommt es zu einer Ausfallzeit von weniger als einer Sekunde:
    • Aus- oder Einschalen (Lesepoolknoten hinzufügen oder entfernen)
    • Hoch- oder Herunterskalieren (Ändern des Maschinentyps der Knoten im Pool)
    • Konvertieren eines vorhandenen zonalen Lesereplikats in einen Leserpool
  • 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 Knoten des Lesepools sind dieselben Messwerte verfügbar wie für ein Cloud SQL-Lesereplikat.
  • Wenn Sie gcloud oder die Google Cloud Console verwenden, um die Details eines Projekts zu beschreiben, wird der Name des Lesepools aufgeführt, die Namen der einzelnen Lesepool-Knoten jedoch nicht.

Beschränkungen

Es gelten folgende Einschränkungen:

  • Lesepools sind nur für Instanzen der Cloud SQL Enterprise Plus-Version in der neuen Netzwerkarchitektur verfügbar. Die primäre Instanz, die mit einem Lesepool verknüpft ist, muss ebenfalls eine Cloud SQL Enterprise Plus-Instanz sein.
  • Traffic wird von Lesepoolknoten bereitgestellt, je nachdem, ob die Datenbank fehlerfrei ist, unabhängig davon, wie hoch die Replikationsverzögerung bei diesem Lesepoolknoten ist. Traffic kann von einem Lesepoolknoten mit Verzögerung bereitgestellt werden, auch wenn ein anderer Lesepoolknoten ohne Verzögerung verfügbar ist. Eine Datenbank gilt als fehlerfrei, wenn der Datenbankprozess aktiv ist und Abfragen beantworten kann. Es gibt jedoch keine Anforderung, wie aktuell die bereitgestellten Daten sein müssen.
  • Es wird keine Garantie dafür übernommen, 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 Lesepoolknoten herstellen, der eine niedrigere Replikationsposition (GTID) hat als der Lesepoolknoten, der eine frühere Anfrage ausgeführt hat. Dies kann dazu führen, dass der Status der Datenbank scheinbar in der Zeit zurückgeht.
  • Die folgenden Arten von Updates werden nicht unterstützt:
    • Lesepools erhalten zwar weiterhin Cloud SQL-Wartungsupdates, Sie können sie jedoch nicht auf eine neue Haupt- oder Nebenversion der Datenbank aktualisieren.
    • Knoten des Lesepools starten oder beenden
  • Zusätzlich zu den Vorgängen, die für Lesereplikate nicht unterstützt werden, sind die folgenden Vorgänge für Lesepools nicht zulässig:
    • Replikat hochstufen
    • restart
    • import
    • export
    • failover
    • re-encrypt
    • clone
  • Die folgenden Funktionen können nicht mit einem Lesepool verwendet werden:
    • Private Service Connect
    • SSL-/TLS-Zertifikate mit gemeinsam genutzter Zertifizierungsstelle oder kundenverwalteter Zertifizierungsstelle
  • Ein Lesepool kann nicht auf eine andere Instanz repliziert werden, z. B. auf ein kaskadierendes Replik 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, Ein- oder Aus-Skalieren 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 die folgende Fehlermeldung: 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 Leserpool konvertiert werden.
  • Sie können dem Lesepool keine Lesepoolknoten hinzufügen oder daraus entfernen, während Sie gleichzeitig den Maschinentyp ändern.
  • Wenn Ihre Anwendung eine Verbindung zu einem speziellen Lesereplikat herstellen muss, z. B. aufgrund sekundärer Indizes in einem bestimmten Lesereplikat, erstellen Sie ein Cloud SQL-Lesereplikat und verwenden Sie es stattdessen.
  • Sie können keine Abfragen für bestimmte Nutzer und Datenbanken stellen, die mit einem Lesepool verknüpft sind. Da Cloud SQL Studio auf von Nutzern und Datenbanken bereitgestellten Daten basiert, wird Cloud SQL Studio nicht mit Lesepools unterstützt.

Nächste Schritte