Lesepools

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

Was sind Lesepools?

Ein Lesepool ist eine Sammlung von Lesereplikatinstanzen, die zum Verteilen großer 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:

  • Horizontal skalieren: Sie können die Lastenausgleichskapazität horizontal skalieren, indem Sie die Anzahl der Lesepoolknoten im Lesepool ändern. Jeder Lesepool unterstützt zwischen 1 und 7 Lesepoolknoten.
  • Vertikal skalieren: Sie können die Lastenausgleichskapazität vertikal skalieren, 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 an einen der Lesepoolknoten weitergeleitet. Wenn Sie den Lesepool herunterskalieren oder horizontal 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 können verwendet werden, um die Leistung einzelner Lesepoolknoten zu analysieren. Dies ist jedoch keine effiziente Methode für den Zugriff auf Ihre Daten.

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

Replikation

Die Cloud SQL-Lesepoolreplikation wird mithilfe von SQL Server Read Scale Availability Groups implementiert.

Weitere Informationen finden Sie unter Replikation.

Merkmale von Lesepools

Es gelten die folgenden Merkmale:

  • Ein Lesepool mit zwei oder mehr Knoten ist durch das Service Level Agreement (SLA) abgedeckt.
  • Lesepoolknoten des Lesepools befinden sich immer in derselben Region, wie vom Nutzer angegeben. Google Cloud alternates Lesepoolknotenresidenz unter 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:
    • Horizontale Skalierung (Hinzufügen oder Entfernen von Lesepoolknoten).
    • Vertikale Skalierung (Ä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 der einzelnen 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.
  • Sie können pro primäre Instanz maximal sieben Lesereplikate erstellen. Dieser Wert kann eine beliebige kombinierte Anzahl von Lesereplikaten und Lesepoolknoten unter einer Lesepoolinstanz umfassen. Eine primäre Instanz kann beispielsweise zwei Lesereplikate und einen separaten Lesepool mit fünf Lesereplikaten (Lesepoolknoten) haben.
  • Das automatische Skalieren von Lesepools wird für SQL Server-Instanzen nicht unterstützt.
  • Die erweiterte Notfallwiederherstellung ist nicht mit Lesepools kompatibel. Primäre Instanzen können nicht sowohl Lesepools als auch kaskadierende Replikate verwenden.
  • 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 hat als der Lesepoolknoten, der eine frühere Anfrage verarbeitet hat. Dadurch kann es so aussehen, als ob der Zustand der Datenbank in der Zeit zurückgeht.
  • Die folgenden Arten von Updates werden nicht unterstützt:
    • Lesepools erhalten zwar weiterhin Cloud SQL-Wartungsupdates, Sie können Ihren Lesepool oder die zugehörige primäre Instanz jedoch nicht auf eine neue Hauptversion der Datenbank aktualisieren.
    • Starten oder Beenden von Knoten des Lesepools.
  • Zusätzlich zu Vorgängen, die für Lesereplikate nicht unterstützt werden, werden die folgenden Vorgänge für Lesepools nicht unterstützt:
  • SSL/TLS-Zertifikate mit einer gemeinsamen Zertifizierungsstelle oder einer vom Kunden verwalteten 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 einen Lesepool erstellen oder skalieren, müssen Sie warten, bis die vorherigen Vorgänge zum Erstellen des Pools, Herunterskalieren oder horizontal Skalieren 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, 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 die primäre Instanz befindet, kann für die Verwendung in einem Lesepool konvertiert werden.
  • Bei Lesepoolknoten kann es zu unterschiedlichen Replikationsverzögerungen kommen, was zu inkonsistenten Lesevorgängen führen kann. Wenn Ihre Anwendung eine hohe Lesekonsistenz erfordert, empfehlen wir, ein einzelnes Lesereplikat vertikal zu skalieren, anstatt einen Lesepool zu verwenden.
  • Cloud SQL repariert Lesepoolknoten automatisch unter den folgenden Bedingungen:
    • Wenn die Instanz nicht verfügbar ist.
    • Wenn die Replikation unterbrochen ist.

    Wenn Sie in diesen Szenarien zusätzliche Anmeldungen von der primären Instanz erstellen, können Sie sich nach der Neuerstellung des Lesepoolknotens nicht mehr mit diesen Anmeldungen anmelden. Achten Sie darauf, dass die Anmeldung, die Sie für den Leseendpunkt verwenden, von der primären Instanz aus verfügbar ist.

  • Microsoft unterstützt die Replikation von Serverobjekten nicht.

    Alle Objekte auf Serverebene, die Sie auf einem Lesereplikat erstellen, müssen auch auf der primären Instanz erstellt und verwaltet werden. Diese Objekte werden nicht automatisch repliziert.

    Dieses Verhalten tritt in den folgenden Szenarien auf (keine vollständige Liste):

    • Reparieren eines Lesepools.
    • Konvertieren eines Lesereplikats in einen Lesepool.
      • Objekte auf Serverebene wie Anmeldungen sind nicht mehr zugänglich.
      • Wenn Sie eine Anmeldung erstellen, die auf dem ursprünglichen Lesereplikat, aber nicht auf der primären Instanz vorhanden ist, wird die Anmeldung nicht auf den neuen Lesepoolknoten repliziert.
    • Konvertieren eines Lesepools in ein Lesereplikat.
      • Wenn Sie eine Anmeldung in einem Lesepool und nicht in der primären Instanz erstellen, und den Lesepool später deaktivieren, ist die Anmeldung nicht mehr vorhanden.

    Einige Beispiele für Objekte auf Serverebene, die nicht repliziert werden:

    • Anmeldungen.
    • Konfiguration des verknüpften Servers.
    • Von SQL Server Audit erstellte Datenbank-Audit-Dateien.
    • XEvents-Sitzungen und ihre Konfigurationseinstellungen.

    Weitere Informationen finden Sie in der Microsoft Dokumentation.

  • Das Zertifikat für die transparente Datenverschlüsselung (Transparent Data Encryption, TDE) ist sowohl für Import- als auch für Exportvorgänge gesperrt.
  • Sie müssen TDE-Zertifikate immer von der primären Instanz importieren und exportieren. Die TDE-Zertifikate werden automatisch auf alle Lesereplikate im Lesepool repliziert, un abhängig vom Replikattyp.
  • TDE-Import- und -Exportvorgänge werden nicht unterstützt. Importieren Sie das TDE -Zertifikat immer von der primären Instanz.

Nächste Schritte