Lesepools

Cloud SQL-Lesepools unterstützen den Lastenausgleich für Ihre großen Lesearbeitslasten.

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 an den Lesepool weitergeleitet werden, um die Last auf der primären Instanz zu reduzieren.

Jedes Lesereplikat im Lesepool wird als Lesepoolknoten bezeichnet.

Sie können Ihren Lesepool auf verschiedene Arten skalieren:

  • Verkleinern oder vergrößern: Skalieren Sie die Lastenausgleichskapazität horizontal, indem Sie die Anzahl der Lesepoolknoten im Lesepool ändern. Jeder Lesepool unterstützt zwischen 1 und 20 Lesepoolknoten.
  • Verkleinern oder vergrößern: Skalieren Sie die Lastenausgleichskapazität vertikal, indem Sie den Maschinentyp ändern, der mit einem Lesepoolknoten verknüpft ist. Nach der Definition wird die Konfiguration einheitlich auf alle Lesepoolknoten 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.

Über einen einzelnen Leseendpunkt auf einen Lesepool zugreifen

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 Lesepoolknoten weitergeleitet. Wenn Sie den Lesepool verkleinern oder vergrößern 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 vorherige löschen.

Jeder Lesepoolknoten hat auch eine eigene IP-Adresse. Diese IP-Adressen sind zwar nicht als effizienter Ansatz für den Zugriff auf Ihre Daten zu empfehlen, können aber zur Fehlerbehebung bei der Leistung einzelner Lesepoolknoten verwendet werden.

Weitere Informationen zum Abrufen der Verbindungsinformationen für den Lesepool oder die Lesepoolknoten (entweder IP-Adressen oder eine Verbindungsstring) finden Sie unter Lesepoolinformationen ansehen.

Autoscaling für Lesepools

Informationen zum Konfigurieren Ihres Lesepools, damit die Größe automatisch an die sich ändernden Arbeitslastanforderungen Ihrer Anwendung angepasst wird, finden Sie unter Autoscaling für Lesepools.

Merkmale von Lesepools

Es gelten die folgenden Merkmale:

  • Ein Lesepool mit zwei oder mehr Knoten fällt unter das Service Level Agreement (SLA).
  • 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.
  • Die folgenden Vorgänge führen zu Ausfallzeiten von weniger als einer Sekunde:
    • Vergrößern oder Verkleinern (Hinzufügen oder Entfernen von Lesepoolknoten).
    • Vergrößern oder Verkleinern (Ändern des Maschinentyps der Knoten im Pool).
    • Konvertieren eines vorhandenen zonalen Lesereplikats in einen Lesepool.
  • Ein Lesepool wird vor der primären Instanz gewartet, ähnlich wie Lesereplikate. Wie Lesereplikate werden 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 mit gcloud oder der Google Cloud Console die Details eines Projekts beschreiben, wird der Name des Lesepools aufgeführt, nicht aber die Namen einzelner Lesepoolknoten.

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 mit einem Lesepool verknüpft ist, muss ebenfalls eine Cloud SQL Enterprise Plus-Instanz sein.
  • Der Traffic wird von Lesepoolknoten bereitgestellt, je nachdem, ob die Datenbank fehlerfrei ist. Die Replikationsverzögerung auf diesem Lesepoolknoten spielt dabei keine Rolle. Der Traffic kann von einem Lesepoolknoten mit Verzögerung bereitgestellt werden, auch wenn ein anderer Lesepool Knoten ohne Verzögerung verfügbar ist. Eine Datenbank gilt als fehlerfrei, wenn der Datenbankprozess ausgeführt wird und Abfragen beantworten kann. Es gibt jedoch keine Anforderungen an die Aktualität der bereitgestellten Daten.
  • 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 Lesepoolknoten herstellen, der eine niedrigere Replikations Position (GTID) hat als der Lesepoolknoten, der eine frühere Anfrage verarbeitet hat. Dadurch kann es so aussehen, als würde der Zustand der Datenbank in der Zeit zurückgehen.
  • Die folgenden Arten von Updates werden nicht unterstützt:
    • Lesepools erhalten zwar weiterhin Cloud SQL-Wartungsupdates, Sie können Ihren Lesepool aber nicht auf eine neue Haupt- oder Nebenversion der Datenbank aktualisieren.
    • Starten oder Beenden von Knoten des Lesepools.
  • Zusätzlich zu den Vorgängen, die für Lesereplikate nicht unterstützt werden, werden die folgenden Vorgänge für Lesepools nicht unterstützt:
    • Replikation aktivieren und deaktivieren
    • Replikat hochstufen
    • Neu starten
    • Importieren
    • Exportieren
    • Failover
    • Neu verschlüsseln
    • Klonen
  • SSL/TLS-Zertifikate mit gemeinsamer Zertifizierungsstelle oder vom Kunden verwalteter Zertifizierungsstelle können nicht mit einem Lesepool verwendet werden.
  • Ein Lesepool kann nicht in eine andere Instanz repliziert werden, z. B. in ein kaskadierendes Replikat oder einen anderen Lesepool.
  • Ein Lesepool muss direkt von 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 das regionale Lesereplikat zuerst in ein zonales Lesereplikat konvertieren.
  • Wenn Sie einen Lesepool erstellen oder skalieren, müssen Sie warten, bis die vorherigen Vorgänge zum Erstellen des Pools, Verkleinern oder Vergrößern 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 den nächsten Lesepool skalieren. Wenn Sie gleichzeitige Anfragen senden, wird möglicherweise die folgende Fehlermeldung angezeigt: Operation failed because another operation was already in progress..
  • Nur ein zonales Replikat in derselben Region wie die primäre Instanz kann für die Verwendung in einem Lesepool konvertiert werden.
  • Wenn Ihre Anwendung eine Verbindung zu einem dedizierten Lesereplikat herstellen muss, z. B. aufgrund von sekundären Indexen in einem bestimmten Lesereplikat, erstellen Sie ein Cloud SQL-Lesereplikat und verwenden Sie es stattdessen.

Nächste Schritte