Instanzen

Auf dieser Seite werden die Konzepte von Cloud Spanner-Instanzen, -Instanzkonfigurationen und -Knoten vorgestellt. Außerdem werden die Vor- und Nachteile regionaler und multiregionaler Instanzen sowie deren Unterschiede beschrieben. Wenn Sie nicht mit der Funktionsweise von Replikationen in Cloud Spanner vertraut sind, lesen Sie zuerst die Informationen zu Replikationen.

Überblick über Instanzen

Zur Verwendung von Cloud Spanner müssen Sie zuerst eine Instanz von Cloud Spanner in Ihrem Google Cloud-Projekt erstellen. Diese Instanz ist eine Zuordnung von Ressourcen, die von den in dieser Instanz erstellten Cloud Spanner-Datenbanken verwendet werden.

Bei der Instanzerstellung gibt es zwei wichtige Auswahlmöglichkeiten: die Instanzkonfiguration und die Knotenzahl. Durch diese Auswahlmöglichkeiten werden der Standort und die Menge der Bereitstellungs- und Speicherressourcen der Instanz festgelegt. Die Konfigurationsauswahl gilt für die jeweilige Instanz dauerhaft. Sie können jedoch die Knotenzahl bei Bedarf nachträglich ändern.

Instanzkonfiguration

Über eine Instanzkonfiguration werden die geografische Platzierung und Replikation der Datenbanken in der jeweiligen Instanz definiert. Instanzen werden bei der Erstellung entweder als regional (alle Ressourcen befinden sich in nur einer Google Cloud-Region) oder als multiregional (die Ressourcen verteilen sich auf mehrere Regionen) konfiguriert. Sie treffen diese Auswahl, indem Sie eine Instanzkonfiguration auswählen, durch die bestimmt wird, wo die Daten für diese Instanz gespeichert werden. Regionale und multiregionale Konfigurationen werden weiter unten ausführlicher beschrieben.

Knotenzahl

Wenn Sie eine Instanz erstellen, müssen Sie nicht nur den Speicherort für die Daten, sondern auch die Knotenzahl bzw. die Anzahl der Knoten auswählen, die dieser Instanz zugewiesen werden sollen. Durch die festgelegte Knotenzahl wird die Menge der Bereitstellungs- und Speicherressourcen bestimmt, die in der Instanz für Datenbanken verfügbar sind.

Das folgende Diagramm einer regionalen Instanzkonfiguration veranschaulicht die Beziehung zwischen Knoten, Replikaten und Instanzen.

Instanz mit vier Knoten, die in einer regionalen Instanzkonfiguration erstellt wurde

Das Diagramm stellt eine Instanz mit vier Knoten dar, die in einer regionalen Instanzkonfiguration erstellt wurde. Jede Zone im Diagramm enthält ein vollständiges Replikat der Datenbank. In jeder Zone wird das Replikat der Datenbank von vier Bereitstellungsaufgaben bedient.

Eine N-Knoten-Instanz verfügt über N Bereitstellungsaufgaben in jeder Zone der Instanzkonfiguration. Dabei stellt jede Zone ein vollständiges Replikat der Datenbank bereit.

Jeder Knoten bietet bis zu 2 TB Speicherplatz. Die Spitzenwerte, die mit Knoten für den Durchsatz von Lese- und Schreibvorgängen erreicht werden können, hängen von der Instanzkonfiguration sowie vom Schemadesign und von den Dataset-Eigenschaften ab. Weitere Informationen finden Sie in den Abschnitten zur Leistung regionaler Konfigurationen und zur Leistung multiregionaler Konfigurationen.

Nachdem Sie eine Instanz erstellt haben, können Sie ihr später Knoten hinzufügen. In den meisten Fällen können Sie Knoten auch entfernen. Es gibt jedoch einige Fälle, in denen Knoten nicht entfernt werden können:

  • Beim Entfernen der Knoten müsste die Instanz mehr als zwei TB an Daten pro Knoten speichern.
  • Beruhend auf Ihren bisherigen Nutzungsmustern hat Cloud Spanner eine große Anzahl von Splits für die Daten Ihrer Instanz erstellt und könnte die Splits nach dem Entfernen der Knoten nicht verwalten.

Beobachten Sie beim Entfernen von Knoten die CPU-Auslastung und die Anfragelatenzen in Cloud Monitoring, damit die CPU-Auslastung bei regionalen Instanzen unter 65 % und bei Instanzen mit mehreren Regionen bei jeder Region unter 45 % liegt. Beim Entfernen von Knoten kann es vorübergehend zu einer Anfragelatenz kommen.

Mit der Cloud Console, dem gcloud-Befehlszeilentool oder den Clientbibliotheken können Sie die Anzahl der Knoten ändern.

Cloud Spanner hat keinen Sperrmodus. Cloud Spanner-Knoten sind dedizierte Ressourcen. Auch wenn keine Arbeitslast ausgeführt wird, führen diese regelmäßig Arbeiten im Hintergrund durch, um Ihre Daten zu optimieren und zu schützen.

Knoten im Vergleich zu Replikaten

Sollten Sie die Bereitstellungs- und Speicherressourcen in Ihrer Instanz hochskalieren müssen, fügen Sie dieser Instanz weitere Knoten hinzu. Beachten Sie, dass das Hinzufügen eines Knotens nicht die Anzahl der Replikate erhöht, da diese abhängig von der Konfiguration festgelegt sind, sondern die Anzahl der Ressourcen, die jedem Replikat in der Instanz zur Verfügung stehen. Durch das Hinzufügen von Knoten erhält jedes Replikat mehr CPU und Arbeitsspeicher, wodurch der Durchsatz des Replikats erhöht wird. Das heißt, dass pro Sekunde mehr Lese- und Schreibvorgänge ausgeführt werden können als zuvor. Im Endeffekt ist die Anzahl der Cloud Spanner-Server in den einzelnen Replikaten der Instanz mit der Knotenzahl der Instanz identisch. Daher entspricht die Gesamtzahl der Server in einer Cloud Spanner-Instanz der Anzahl an Knoten, die die Instanz mit der Anzahl der Replikate in der Instanz multipliziert hat.

Regionale Konfigurationen

Google Cloud-Dienste sind an Standorten in Nordamerika, Südamerika, Europa, Asien und Australien verfügbar. Wenn sich Ihre Nutzer und Dienste in einer einzigen Region befinden, sollten Sie eine regionale Instanzkonfiguration wählen, um die Latenz bei Lese- und Schreibvorgängen möglichst gering zu halten.

Verfügbare Konfigurationen

Cloud Spanner bietet folgende regionale Instanzkonfigurationen:

Name der Region Beschreibung der Region
Amerika
northamerica-northeast1 Montreal
southamerica-east1 São Paulo
us-central1 Iowa
us-east1 South Carolina
us-east4 Northern Virginia
us-west1 Oregon
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas
Europa
europe-north1 Finnland
europe-west1 Belgien
europe-west2 London
europe-west3 Frankfurt
europe-west4 Niederlande
europe-west6 Zürich
Asia Pacific
asia-south1 Mumbai
asia-east1 Taiwan
asia-east2 Hongkong
asia-northeast1 Tokio
asia-northeast2 Osaka
asia-northeast3 Seoul
asia-southeast1 Singapur
asia-southeast2 Jakarta
australia-southeast1 Sydney

Für jede regionale Konfiguration verwaltet Cloud Spanner drei nicht schreibgeschützte Replikate, wobei sich jedes Replikat in der jeweiligen Region in einer anderen Zone von Google Cloud befindet. Jedes nicht schreibgeschützte Replikat enthält eine vollständige Kopie der operativen Datenbank, die Lese-Schreib-Anforderungen und schreibgeschützte Anforderungen verarbeiten kann. Cloud Spanner greift auf Replikate in verschiedenen Zonen zurück, damit die Datenbank auch dann verfügbar ist, wenn es in einer einzelnen Zone zu einem Ausfall kommt.

Replikation

Regionale Konfigurationen enthalten genau drei nicht schreibgeschützte Replikate. Wie im Artikel zum Thema Replikation in Cloud Spanner beschrieben, ist für jede Cloud Spanner-Mutation ein Schreibquorum erforderlich, das sich aus einer Mehrheit der votierenden Replikate zusammensetzt. Schreibquoren werden aus zwei der drei in regionalen Konfigurationen vorhandenen Replikate gebildet.

Best Practices

Beachten Sie die folgenden Best Practices, um eine optimale Leistung zu erzielen:

  • Erstellen Sie ein Schema, das Hotspots und andere Leistungsprobleme verhindert.
  • Platzieren Sie wichtige Compute-Ressourcen in derselben Region wie die Cloud Spanner-Instanz.
  • Stellen Sie genügend Cloud Spanner-Knoten bereit, damit die Auslastung von CPUs mit hoher Priorität 65 % nicht übersteigt.

Leistung

Wenn Sie die oben beschriebenen Best Practices befolgen, kann jeder Cloud Spanner-Knoten bis zu 10.000 Abfragen pro Sekunde (queries per second, QPS) für Lesevorgänge bzw. 2.000 Abfragen pro Sekunde für Schreibvorgänge bereitstellen (wenn einzelne Zeilen mit 1 KB Daten pro Zeile geschrieben werden).

Multiregionale Konfigurationen

Wie oben beschrieben, werden bei regionalen Konfigurationen von Cloud Spanner Daten zwischen mehreren Zonen innerhalb einer Region repliziert. Wenn Ihre Anwendung jedoch häufig Daten aus mehreren geografischen Standorten lesen muss (z. B. um diese für Nutzer in Nordamerika und Asien verfügbar zu machen) oder wenn Ihre Schreibvorgänge einem anderen Standort entstammen als Ihre Lesevorgänge (z. B. bei umfangreichen Arbeitslasten an Schreibvorgängen in Nordamerika und Lesevorgängen in Europa), ist eine regionale Konfiguration möglicherweise nicht ideal.

Bei multiregionalen Konfigurationen können die Daten der Datenbank nicht nur in mehreren Zonen, sondern in mehreren Zonen, die auf mehrere Regionen verteilt sind, repliziert werden – so wie in der Instanzkonfiguration festgelegt. Mithilfe dieser zusätzlichen Replikate können Sie Daten mit geringer Latenz aus mehreren Standorten lesen, die sich in der Nähe oder innerhalb der Regionen der Konfiguration befinden. Hieraus ergeben sich sowohl Vor- als auch Nachteile. In einer multiregionalen Konfiguration sind die für ein Quorum benötigten (nicht schreibgeschützten) Replikate auf mehr als eine Region verteilt. Daher kann zusätzliche Netzwerklatenz auftreten, wenn diese Replikate miteinander kommunizieren, um über das Festschreiben von Schreibvorgängen abzustimmen. Dies bedeutet, dass Ihre Anwendung in multiregionalen Konfigurationen Lesevorgänge an mehr Orten schneller ausführen kann, was jedoch eine etwas höhere Schreiblatenz nach sich zieht.

Verfügbare Konfigurationen

Ein Kontinent

Name Ort Nicht schreibgeschützte Regionen Schreibgeschützte Regionen Zeugen-Region
asia1 Asien Tokio: asia-northeast1 L,2R
Osaka: asia-northeast2 2R
Seoul: asia-northeast3
eur3 Europa Belgien: europe-west1 L,2R
Niederlande: europe-west4 2R
Finnland: europe-north1
eur5 Europa London: europe-west2 L,2R
Belgien: europe-west1 2R
Niederlande: europe-west4
nam3 Nordamerika Northern Virginia: us-east4 L,2R
South Carolina: us-east1 2R
Iowa: us-central1
nam6 Nordamerika Iowa: us-central1 L,2R
South Carolina: us-east1 2R
Oregon: us-west1 1R
Los Angeles: us-west2 1R
Oklahoma: us-central2
nam7 Nordamerika Iowa: us-central1 L,2R
Northern Virginia: us-east4 2R
Oklahoma: us-central2
nam8 Nordamerika Los Angeles: us-west2 L,2R
Oregon: us-west1 2R
Salt Lake City: us-west3
nam9 Nordamerika Northern Virginia: us-east4 L,2R
Iowa: us-central1 2R
Oregon: us-west1 2R South Carolina: us-east1
nam10 Nordamerika Iowa: us-central1 L,2R
Salt Lake City: us-west3 2R
Oklahoma: us-central2
nam11 Nordamerika Iowa: us-central1 L,2R
South Carolina: us-east1 2R
Oklahoma: us-central2
  • L: Standardmäßig führende Region

  • 1R: 1 Replikat in der Region

  • 2R: 2 Replikate in der Region

Drei Kontinente

Name Orte Nicht schreibgeschützte Regionen Schreibgeschützte Regionen Zeugen-Region
nam-eur-asia1 Nordamerika
Europa
Asien
Iowa: us-central1 L,2R
Oklahoma: us-central2 2R
Belgien: europe-west1 2R
Taiwan: asia-east1 2R
South Carolina: us-east1

Vorteile

Multiregionale Instanzen bieten folgende große Vorteile:

  • Verfügbarkeit von 99,999 %: Dies übersteigt die Verfügbarkeit von 99,99 %, die regionale Konfigurationen von Cloud Spanner bieten.

  • Datenverteilung: Cloud Spanner repliziert die Daten automatisch zwischen Regionen, in denen hohe Konsistenz garantiert wird. So können Ihre Daten dort gespeichert werden, wo sie verwendet werden, wodurch die Latenz verringert werden kann.

  • Externe Konsistenz: Obwohl Cloud Spanner Daten in geografisch weit voneinander entfernten Standorten repliziert, können Sie Cloud Spanner wie eine auf nur einem Computer ausgeführten Datenbank verwenden. Für Transaktionen wird die Serialisierbarkeit garantiert. Außerdem gleicht die Reihenfolge der Transaktionen in der Datenbank der Reihenfolge, in der Clients feststellen, ob die Transaktionen festgeschrieben wurden. Durch externe Konsistenz wird dahingehend eine bessere Garantie geboten, als durch die Strong Consistency (hohe Konsistenz), welche von einigen anderen Produkten geboten wird. Weitere Informationen zu diesem Attribut erhalten Sie unter TrueTime und externe Konsistenz.

Replikation

Jede multiregionale Konfiguration enthält zwei Regionen, die als nicht schreibgeschützte Regionen festgelegt sind, von denen jede zwei nicht schreibgeschützte Replikate enthält. Eine dieser nicht schreibgeschützten Regionen wird als standardmäßig führende Region festgelegt. Dies bedeutet, dass sie die Leader-Replikate Ihrer Datenbank enthält. Cloud Spanner platziert außerdem ein Zeugenreplikat in einer dritten Region, die als Zeugenregion bezeichnet wird.

Jedes Mal, wenn ein Client eine Mutation für Ihre Datenbank ausgibt, bildet sich ein Schreibquorum, das aus einem der Replikate aus der standardmäßig führenden Region und zwei beliebigen der zusätzlichen vier abstimmenden Replikate besteht. (Das Quorum könnte aus Replikaten aus zwei oder drei der Regionen Ihrer Konfiguration gebildet werden, abhängig davon, welche anderen Replikate an der Abstimmung teilnehmen.) Zusätzlich zu diesen fünf votierenden Replikaten kann die Konfiguration auch schreibgeschützte Replikate zum Verarbeiten von Lesevorgängen mit niedriger Latenz enthalten. Die Regionen mit schreibgeschützten Replikaten werden als schreibgeschützte Regionen bezeichnet.

Im Allgemeinen werden in einer multiregionalen Konfiguration die votierenden Regionen geografisch nah beieinander platziert, d .h., weniger als 1.609 km voneinander entfernt, damit ein Quorum mit niedriger Latenz für schnelle Schreibvorgänge gebildet werden kann (weitere Informationen). Dennoch sind die Regionen weit genug voneinander entfernt – in der Regel mindestens einige hundert Meilen (ein Vielfaches von 161 km) – damit koordinierte Ausfälle vermieden werden können.

In den nächsten Abschnitten werden die einzelnen Regionstypen genauer beschrieben. Außerdem wird erläutert, wie Sie Ihre Auslastung an Schreib- und Lesevorgängen entsprechend am besten verteilen.

Regionstypen

Nicht schreibgeschützte Regionen

Wie oben beschrieben, enthält jede multiregionale Konfiguration zwei nicht schreibgeschützte Regionen, die jeweils zwei nicht schreibgeschützte Replikate enthalten. Eine dieser Regionen mit Lese- / Schreibzugriff wird als Standard-Leader-Region festgelegt. Für die Aufteilung wird bei den Replikaten in der standardmäßig führenden Region für jeden Split ein Leader ausgewählt. Wenn ein Leader-Replikatfehler ausfällt, geht das andere Replikat in der standardmäßig führenden Region automatisch nach Leader. Tatsächlich führen Leader Eigendiagnosen durch und können daher präventiv ihre Funktion als Leader abgeben, wenn sie feststellen, dass ihre Integrität kompromittiert wurde. Unter normalen Bedingungen, also wenn Replikate in der standardmäßig führenden Region verfügbar sind, enthält die standardmäßig führende Region die Leader. Schreibvorgänge werden daher im Normalfall dort zuerst verarbeitet.

Die zweite nicht schreibgeschützte Region enthält die zusätzlichen Replikate, die als Leader fungieren können. Für den unwahrscheinlichen Fall des Verlusts aller Replikate in der standardmäßig führenden Region werden aus der zweiten nicht schreibgeschützten Region neue Leader-Replikate ausgewählt.

Schreibgeschützte Regionen

Schreibgeschützte Regionen enthalten schreibgeschützte Replikate, die Lesevorgänge mit niedriger Latenz für Clients ausführen können, die sich außerhalb der nicht schreibgeschützten Regionen befinden.

Zeugenregionen

Eine Zeugenregion enthält ein Zeugenreplikat, welches zum Abstimmen über das Festschreiben von Schreibvorgängen verwendet wird. Zeugen werden in dem seltenen Fall wichtig, wenn die nicht schreibgeschützten Regionen nicht mehr verfügbar sind.

Best Practices

Beachten Sie die folgenden Best Practices, um eine optimale Leistung zu erzielen:

  • Erstellen Sie ein Schema, das Hotspots und andere Leistungsprobleme verhindert.
  • Zum Erzielen einer optimalen Schreiblatenz sollten Sie die Rechenressourcen für schreibintensive Arbeitslasten innerhalb oder in der Nähe der standardmäßig führenden Region platzieren.
  • Zum Erzielen einer optimalen Leseleistung außerhalb der standardmäßig führenden Region sollten Sie als Schwellwert für die Veralterung mindestens 15 Sekunden einstellen.
  • Platzieren Sie wichtige Compute-Ressourcen in mehreren Regionen, damit Sie vermeiden können, dass Arbeitslasten von einer einzigen Region abhängig sind. Eine gute Option ist, sie neben den beiden verschiedenen Regionen mit Lese-/Schreibzugriff zu platzieren, damit ein Ausfall einer Region nicht Ihre gesamte Anwendung beeinträchtigt.
  • Stellen Sie genügend Cloud Spanner-Knoten bereit, um die Auslastung von CPUs mit hoher Priorität unter 45 % in jeder Region zu halten.

Leistung

Jede Cloud Spanner-Konfiguration weist auf Grundlage der Replikationstopologie etwas unterschiedliche Leistungseigenschaften auf.

Wenn die oben beschriebenen Best Practices eingehalten werden, kann jeder Cloud Spanner-Knoten folgende ungefähre Leistungswerte erzielen:

Multiregionale Konfiguration Ungefährer Spitzenwert für Lesevorgänge (QPS pro Region) Ungefährer Spitzenwert für Schreibvorgänge (QPS insgesamt)
asia1 7.000 1.800
eur3 7.000 1.800
eur5 7.000 1.800
nam3 7.000 1.800
nam6 7.000 in us-central1 und us-east1
3.500 in us-west1 und us-west2 [1]
1.800
nam7 7.000 1.800
nam8 7.000 1.800
nam9 7.000 1.800
nam10 7.000 1.800
nam11 7.000 1.800
nam-eur-asia1 7.000 1.000
  • [1]: us-west1 und us-west2 bieten nur die Hälfte der QPS-Leistung, da sie nur ein Replikat pro Region enthalten, nicht zwei.

Beachten Sie, dass die Orientierungswerte für Lesevorgänge für jede Region einzeln angegeben werden, da Lesevorgänge von überall aus bedient werden können, während sich die Orientierungswerte für Schreibvorgänge auf die gesamte Konfiguration beziehen. Bei den Orientierungswerten für Schreibvorgänge wird davon ausgegangen, dass einzelne Zeilen mit 1 KB Daten pro Zeile geschrieben werden.

Vor- und Nachteile von regionalen und multiregionalen Konfigurationen

Konfiguration Verfügbarkeit Latenz Kosten Datenlokalität
Regional 99,99 % Geringere Schreiblatenzen innerhalb der Region Geringere Kosten; siehe Preise Aktiviert die geografische Datenverwaltung
Mehrere Regionen 99,99 % Geringere Leselatenzen für mehrere geografische Regionen Höhere Kosten; siehe Preise Daten werden auf mehrere Regionen innerhalb der Konfiguration verteilt

Weitere Informationen