Auf dieser Seite werden die verschiedenen Arten von Instanzkonfigurationen in Spanner sowie die Unterschiede und Vor- und Nachteile der einzelnen Konfigurationen beschrieben.
Instanzkonfigurationen
Eine Spanner-Instanzkonfiguration definiert die geografische Platzierung und Replikation der Datenbanken in der jeweiligen Instanz. Instanzen werden bei der Erstellung entweder als regional, dual-regional oder multiregional 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 Konfigurationen: Alle Ressourcen befinden sich in einer einzigen Google Cloud Region.
- Konfigurationen für zwei Regionen: Alle Ressourcen umfassen zwei Regionen und befinden sich in einem einzigen Land (verfügbar in der Enterprise Plus-Version)
- Multiregionale Konfigurationen: Die Ressourcen umfassen mehr als zwei Regionen (verfügbar in der Enterprise Plus-Version)
Weitere Informationen zu regionsspezifischen Aspekten finden Sie unter Geografie und Regionen.
Instanzkonfigurationen mit festen Regionen und Replikationstopologien werden als Basisinstanzkonfigurationen bezeichnet. Sie können benutzerdefinierte Instanzkonfigurationen erstellen und zusätzliche optionale Lesezugriffsrepliken hinzufügen (verfügbar in der Enterprise- und Enterprise Plus-Version). Die Replikationstopologie von Basisinstanzkonfigurationen kann nicht geändert werden. Weitere Informationen finden Sie unter Nur-Lese-Replikate.
Sie können Ihre Instanz aus einer beliebigen Instanzkonfiguration in eine andere regionale, zweigleisige oder multiregionale Instanzkonfiguration verschieben (z. B. von us-central1
nach nam3
). Sie können auch eine neue benutzerdefinierte Instanzkonfiguration mit zusätzlichen Replikaten erstellen und Ihre Instanz dann in die neue benutzerdefinierte Instanzkonfiguration verschieben. Wenn sich Ihre Instanz beispielsweise in us-central1
befindet und Sie ein schreibgeschütztes Replikat us-west1
hinzufügen möchten, müssen Sie eine neue benutzerdefinierte Instanzkonfiguration mit us-central1
als Basiskonfiguration erstellen und us-west1
als schreibgeschütztes Replikat hinzufügen. Verschieben Sie dann Ihre Instanz in diese neue benutzerdefinierte Instanzkonfiguration.
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.
Für jede regionale Basiskonfiguration verwaltet Spanner drei nicht schreibgeschützte Replikate, wobei sich jedes Replikat in der jeweiligen Region in einer anderen Google Cloud Zone 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. 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.
Verfügbare Konfigurationen
Spanner bietet die folgenden regionalen Basisinstanzkonfigurationen:
Name der Basiskonfiguration | Beschreibung der Region | Optionale Region | |
---|---|---|---|
Amerika | |||
northamerica-northeast1 |
Montréal Niedriger CO2-Ausstoß | ||
northamerica-northeast2 |
Toronto Niedriger CO2 | ||
northamerica-south1 |
Querétaro | ||
southamerica-east1 |
São Paulo Niedrige CO2-Bilanz | ||
southamerica-west1 |
Santiago Niedriger CO2 | ||
us-central1 |
Iowa Niedriger CO2 | Nur Lesezugriff: asia-northeast1 1-OR asia-south1 1-OR europe-west2 1-OR europe-west9 1-OR us-west3 1-OR |
|
us-east1 |
South Carolina | Nur Lesezugriff: us-central1 1-OR us-west1 1-OR |
|
us-east4 |
Northern Virginia | ||
us-east5 |
Columbus | ||
us-south1 |
Dallas Niedriger CO2 | ||
us-west1 |
Oregon Niedriger CO2 | ||
us-west2 |
Los Angeles | ||
us-west3 |
Salt Lake City | ||
us-west4 |
Las Vegas | ||
Europa | |||
europe-central2 |
Warschau | ||
europe-north1 |
Finnland Niedrige CO2 | ||
europe-southwest1 |
Madrid Niedriger CO2 | ||
europe-west1 |
Belgien Niedriger CO2-Ausstoß | Nur Lesezugriff: us-central1 1-OR us-west1 1-OR |
|
europe-west2 |
London Niedriger CO2 | ||
europe-west3 |
Frankfurt Niedriger CO2 | ||
europe-west4 |
Niederlande Niedriger CO2-Wert | ||
europe-west6 |
Zürich Niedriger CO2-Ausstoß | ||
europe-west8 |
Mailand | ||
europe-west9 |
Paris Niedriger CO2-Ausstoß | ||
europe-west10 |
Berlin Niedriger CO2 | ||
europe-west12 |
Turin | ||
Asiatisch-pazifischer Raum | |||
asia-east1 |
Taiwan | ||
asia-east2 |
Hongkong | ||
asia-northeast1 |
Tokio | ||
asia-northeast2 |
Osaka | ||
asia-northeast3 |
Seoul | ||
asia-south1 |
Mumbai | ||
asia-south2 |
Delhi | ||
asia-southeast1 |
Singapur | ||
asia-southeast2 |
Jakarta | ||
australia-southeast1 |
Sydney | ||
australia-southeast2 |
Melbourne | ||
Naher Osten | |||
me-central1 |
Doha | ||
me-central2 |
Dammam | ||
me-west1 |
Tel Aviv | ||
Afrika | |||
africa-south1 |
Johannesburg |
Replikation
Basisregionale Konfigurationen enthalten drei nicht schreibgeschützte Replikate. Für jede Spanner-Mutation ist ein Schreibquorum erforderlich, das sich aus einer Mehrheit der abstimmenden Replikate zusammensetzt. Schreibquoren werden aus zwei der drei in regionalen Konfigurationen existierenden Replikate gebildet. Weitere Informationen zu führenden Regionen und abstimmenden Replikas finden Sie unter Replikation.
Sie können eine benutzerdefinierte regionale Instanzkonfiguration erstellen und optionale schreibgeschützte Replikate hinzufügen. Mit schreibgeschützten Replikaten können Lesevorgänge skaliert und veraltete Lesevorgänge mit niedriger Latenz unterstützt werden. Diese Lesereplikate nehmen nicht am Schreibquorum teil und wirken sich nicht auf den SLA von Spanner mit einer Verfügbarkeit von mindestens 99, 99% für regionale Instanzen aus. Sie können Standorte, die in der Spalte „Optionale Region“ aufgeführt sind, als optionale Replikate mit Lesezugriff hinzufügen. Wenn der von Ihnen ausgewählte Speicherort für das schreibgeschützte Replikat nicht angezeigt wird, können Sie eine neue optionale Region für schreibgeschützte Replikate anfordern. Weitere Informationen finden Sie unter Schreibgeschützte Replikate.
Best Practices für die Leistung von regionalen Konfigurationen
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 Spanner-Instanz.
- Stellen Sie genügend Rechenkapazität bereit, damit die Auslastung von CPUs mit hoher Priorität 65 % nicht übersteigt.
- Informationen zum Durchsatz pro Spanner-Knoten finden Sie unter Leistung für regionale Konfigurationen.
Dual-Region-Konfigurationen
Bei biregionalen Konfigurationen können die Daten der Datenbank in mehreren Zonen in zwei Regionen in einem Land repliziert werden, wie in der Instanzkonfiguration festgelegt.
Dual-Region-Konfigurationen haben folgende Vorteile:
- Lesevorgänge aus zwei Regionen in einem Land ausführen.
- Sie bieten eine höhere Verfügbarkeit und SLAs als regionale Konfigurationen.
- Die Anforderungen an den Datenstandort müssen erfüllt sein.
Spanner bietet biregionale Konfigurationen in Deutschland, Australien, Indien und Japan.
Informationen zum Durchsatz pro Spanner-Knoten finden Sie unter Leistung für biregionale Konfigurationen.
Verfügbare Konfigurationen
Spanner bietet die folgenden Basiskonfigurationen für biregionale Instanzen:
Name der Basiskonfiguration | Ressourcenstandort | Regionen |
---|---|---|
dual-region-australia1 |
au (Australien) | Sydney: australia-southeast1 L,2RW+1W Melbourne: australia-southeast2 2RW+1W |
dual-region-germany1 |
de (Deutschland) | Berlin: europe-west10 L,2RW+1W Frankfurt: europe-west3 2RW+1W |
dual-region-india1 |
in (Indien) | Mumbai: asia-south1 L,2RW+1W Delhi: asia-south2 2RW+1W |
dual-region-japan1 |
jp (Japan) | Tokio: asia-northeast1 L,2RW+1W Osaka: asia-northeast2 2RW+1W |
Vorteile
Dual-Region-Instanzen bieten folgende große Vorteile:
Verfügbarkeit von 99,999%: in zwei Regionen im selben Land. Dies übersteigt die Verfügbarkeit von 99,99 %, die regionale Konfigurationen von Spanner bieten.
Datenverteilung: Ihre Daten werden automatisch zwischen den beiden Regionen repliziert, wobei eine hohe Konsistenz garantiert wird.
Anforderungen an den Datenstandort: Erfüllt die Anforderungen an den Datenstandort in den Ländern, die unter Verfügbare Konfigurationen für die Zwei-Regionen-Konfiguration aufgeführt sind.
Replikation
Eine Dual-Region enthält sechs Replikate, drei in jeder Region. Eine der Regionen wird als standardmäßig führende Region festgelegt (siehe vorherige Tabelle). Sie können die führende Region einer Datenbank ändern. In jeder Region gibt es zwei nicht schreibgeschützte Replikate und ein Zeugenreplikat. Wenn beide Regionen fehlerfrei sind und in einer biregionalen Konfiguration ausgeführt werden, wird das Quorum über alle sechs Replikate hinweg festgelegt. Für ein Quorum und das Committen einer Transaktion sind mindestens zwei Replikate in jeder Region erforderlich.
Failover und Failback
Nachdem Sie eine Zweiregionenkonfiguration erstellt haben, können Sie den Messwert Zeitachse für den Status des Quorums in zwei Regionen im Dashboard Systeminformationen aufrufen. Dieser Messwert ist nur für Konfigurationen mit zwei Regionen verfügbar. Sie zeigt den Status von drei Quorums an:
- Das Quorum für die Dual-Region:
Global
- Das Quorum für einzelne Regionen in jeder Region (z. B.
Sydney
undMelbourne
)
Bei einer Dienstunterbrechung wird in der Zeitachse eine orangefarbene Leiste angezeigt. Wenn Sie den Mauszeiger darauf bewegen, werden die Start- und Endzeiten der Störung angezeigt.
Für eine schnellere Wiederherstellungszeit empfehlen wir, den Zeitachsenmesswert für die Quorum-Zustandsprüfung in zwei Regionen zu überwachen oder eine Benachrichtigung dafür einzurichten. Dieser Messwert hilft Ihnen bei der Entscheidung, wann bei regionalen Ausfällen ein Failover ausgelöst werden soll. Nachdem Sie das Instanz-Failover ausgelöst haben, ist es in der Regel innerhalb einer Minute abgeschlossen.
Spanner unterstützt auch automatische, von Google verwaltete Failover, die nach dem ersten Erkennen des Fehlers bis zu 45 Minuten dauern können. Die längere RTO ist auf das dienstweite Monitoring von Google zurückzuführen. Wir müssen zusätzliche Signale erfassen, um zu bestätigen, dass die gesamte Region betroffen ist und dass es Auswirkungen auf Regionsebene gibt. So wird auch sichergestellt, dass ein Failover zu einem besseren Gesamtdienst für die Nutzer in der Konfiguration führt.
Informationen zum manuellen Failover und Failback finden Sie unter Quorum für die Zweiregionen-Sicherung ändern.
Berücksichtigen Sie bei manuellen Failover- und Failback-Entscheidungen Folgendes:
Wenn alle drei Quorums fehlerfrei sind, müssen Sie nichts weiter tun.
Wenn für eine der Regionen eine Störung angezeigt wird, liegt wahrscheinlich eine regionale Dienstunterbrechung vor. Dies kann zu einer geringeren Verfügbarkeit der Datenbanken führen, die in Ihrem Quorum mit zwei Regionen ausgeführt werden. Schreibvorgänge können auch fehlschlagen, weil kein Quorum hergestellt werden kann und Transaktionen schließlich eine Zeitüberschreitung verursachen. Im Dashboard „Systemstatistiken“ können Sie Fehlerraten und Latenz in Ihrer Datenbank beobachten. Bei erhöhten Fehlerraten oder Latenzen empfehlen wir ein Failover, d. h. das Quorum der Dual-Region von „Dual-Region“ in die Region zu ändern, die noch fehlerfrei ist. Sobald die Region wieder fehlerfrei ist, müssen Sie einen Failback ausführen und das Quorum für die Dual-Region von „Einzelregion“ zu „Dual-Region“ ändern. Google führt automatisch ein Failover und einen Failback durch, wenn ein regionaler Ausfall erkannt wird. Sie können auch manuell einen Failover ausführen, wenn Sie eine Störung feststellen. Wenn Sie jedoch einen manuellen Failover durchgeführt haben, müssen Sie den Failback manuell ausführen.
Wenn das Quorum für zwei Regionen eine Unterbrechung anzeigt, obwohl beide Regionen fehlerfrei sind, liegt ein Problem mit der Netzwerkpartitionierung vor. Die beiden Regionen können nicht mehr miteinander kommunizieren. Daher wird für beide ein fehlerfreier Zustand angezeigt, obwohl das gesamte System nicht fehlerfrei ist. In diesem Fall empfehlen wir, auf die Standard-Leiterregion umzuschalten. Nachdem das Problem mit der Netzwerkpartition behoben wurde und das Quorum der Dual-Region wieder in Ordnung ist, müssen Sie den Failback manuell ausführen.
Bei der Zwei-Regionen-Speicherung ist das Recovery Point Objective (RPO) null, da es bei einem regionalen Ausfall oder bei einem Netzwerkpartitionsproblem zu keinen Datenverlusten kommt.
Informationen zum Prüfen des Modus (einzelner oder doppelter) des Quorums für die Dual-Region finden Sie unter Quorum für die Dual-Region prüfen.
Best Practices für Failover und Failback
Best Practices für Failover und Failback:
- Führen Sie keinen Failover zu einer einzelnen Region durch, wenn keine regionalen Ausfälle oder Unterbrechungen auftreten. Wenn Sie auf eine einzelne Region umstellen, erhöht sich die Wahrscheinlichkeit, dass das gesamte System ausfällt, wenn diese Region ausfällt.
- Achten Sie bei der Auswahl der Region für das Failover darauf, Wenn Sie die falsche Region für den Failover auswählen, ist die Datenbank nicht verfügbar. Sie kann erst wiederhergestellt werden, wenn die Region wieder online ist. Sie können mit einem Bash-Script die Funktionsfähigkeit der einzelnen Region prüfen, bevor Sie das Failover ausführen.
- Wenn die fehlerhafte Region die standardmäßige führende Region ist, ändern Sie die standardmäßige führende Region nach dem Failover in die Failover-Region. Nachdem Sie bestätigt haben, dass beide Regionen wieder fehlerfrei sind, führen Sie einen Failback durch und ändern Sie dann die führende Region wieder in die ursprüngliche führende Region zurück.
- Denken Sie daran, einen manuellen Failback auszuführen, wenn Sie ein manuelles Failover durchgeführt haben.
Beschränkungen
Sie können keine benutzerdefinierte biregionale Instanzkonfiguration erstellen. Sie können einer Instanzkonfiguration mit zwei Regionen keine schreibgeschützten Replikate hinzufügen.
Multiregionale Konfigurationen
Bei regionalen Spanner-Konfigurationen werden Daten zwischen mehreren Zonen innerhalb einer Region repliziert. Eine regionale Konfiguration ist jedoch möglicherweise nicht optimal, wenn:
- Ihre Anwendung muss häufig Daten aus mehreren geografischen Standorten lesen, z. B. um Daten für Nutzer in Nordamerika und Asien bereitzustellen.
- Ihre Schreibvorgänge stammen aus einem anderen Speicherort als Ihre Lesevorgänge (z. B. wenn Sie große Schreiblasten in Nordamerika und große Leselasten in Europa haben).
Multiregionale Konfigurationen bieten folgende Vorteile:
- Schreibvorgänge aus mehreren Regionen ausführen
- Verfügbarkeit bei regionalen Ausfällen aufrechterhalten
- Sie bieten eine höhere Verfügbarkeit und SLAs als regionale Konfigurationen.
Bei multiregionalen Konfigurationen können die Daten der Datenbank 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 geringerer 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. Möglicherweise fällt eine zusätzliche Netzwerklatenz auf, wenn diese Replikate miteinander kommunizieren, um ein Schreibquorum zu bilden. Für Lesevorgänge ist kein Quorum erforderlich. Das Ergebnis ist, dass Ihre Anwendung Lesevorgänge an mehr Orten schneller ausführen kann, was jedoch eine etwas höhere Schreiblatenz nach sich zieht. Weitere Informationen finden Sie unter Die Rolle von Replikaten bei Schreib- und Lesevorgängen.
Verfügbare Konfigurationen
Spanner bietet die folgenden grundlegenden Konfigurationen für multiregionale Instanzen:
Ein Kontinent
Name der Basiskonfiguration | Ressourcenstandort | Nicht schreibgeschützte Regionen | Schreibgeschützte Regionen | Zeugen-Region | Optionale Region |
---|---|---|---|---|---|
asia1 |
asia1 | Tokio: asia-northeast1 L,2R Osaka: asia-northeast2 2R |
– | Seoul: asia-northeast3 |
Nur Lesezugriff: us-west1 1-OR us-east5 1-OR |
asia2 A |
asia2 | Mumbai: asia-south1 L,2R Delhi: asia-south2 2R Singapur: asia-southeast1 1R |
Keine | Keine | |
eur3 |
eur3 | Belgien: europe-west1 L,2R Niederlande: europe-west4 2R |
– | Finnland: europe-north1 |
Nur Lesezugriff: us-central1 1-OR us-east4 1-OR |
eur5 |
eur5 | London: europe-west2 L,2R Belgien: europe-west1 2R |
– | Niederlande: europe-west4 |
Nur Lesezugriff: us-central1 1-OR us-east1 1-OR |
eur6 |
eur6 | Niederlande: europe-west4 L,2R Frankfurt: europe-west3 2R |
– | Zürich: europe-west6 |
Nur Lesezugriff: us-east1 2-OR |
nam3 |
nam3 | Northern Virginia: us-east4 L,2R South Carolina: us-east1 2R |
– | Iowa: us-central1 |
Nur Lesezugriff: us-west2 1-OR asia-southeast1 1-OR asia-southeast2 1-OR europe-west1 1-OR europe-west2 1-OR |
nam6 |
nam6 | Iowa: us-central1 L,2R South Carolina: us-east1 2R |
Oregon: us-west1 1R Los Angeles: us-west2 1R |
Oklahoma: us-central2 |
|
nam7 |
nam7 | Iowa: us-central1 L,2R Northern Virginia: us-east4 2R |
– | Oklahoma: us-central2 |
Nur Lesezugriff: us-east1 2-OR us-south1 1-OR europe-west1 2-OR |
nam8 |
nam8 | Los Angeles: us-west2 L,2R Oregon: us-west1 2R |
– | Salt Lake City: us-west3 |
Nur Lesezugriff: asia-southeast1 2-OR europe-west2 2-OR us-east5 1-OR |
nam9 |
nam9 | Northern Virginia: us-east4 L,2R Iowa: us-central1 2R |
Oregon: us-west1 2R |
South Carolina: us-east1 |
|
nam10 |
nam10 | Iowa: us-central1 L,2R Salt Lake City: us-west3 2R |
– | Oklahoma: us-central2 |
|
nam11 |
nam11 | Iowa: us-central1 L,2R South Carolina: us-east1 2R |
– | Oklahoma: us-central2 |
Nur Lesezugriff: us-west1 1-OR |
nam12 |
nam12 | Iowa: us-central1 L,2R Northern Virginia: us-east4 2R |
Oregon: us-west1 2R |
Oklahoma: us-central2 |
|
nam13 |
nam13 | Oklahoma: us-central2 L,2R Iowa: us-central1 2R |
Keine | Salt Lake City: us-west3 |
|
nam14 |
nam14 | Northern Virginia: us-east4 L,2R Montréal: northamerica-northeast1 2R |
Keine | South Carolina: us-east1 |
|
nam15 |
nam15 | Dallas: us-south1 L,2R Northern Virginia: us-east4 2R |
Keine | Iowa: us-central1 |
|
nam16 |
USA (US) | Iowa: us-central1 L,2R Northern Virginia: us-east4 2R |
Keine | Columbus: us-east5 |
Nur Lesezugriff: us-west2 2-OR |
Drei Kontinente
Name der Basiskonfiguration | Ressourcenstandort | Nicht schreibgeschützte Regionen | Schreibgeschützte Regionen | Zeugen-Region | Optionale Region |
---|---|---|---|---|---|
nam-eur-asia1 |
nam-eur-asia1 | Iowa: us-central1 L,2R Oklahoma: us-central2 2R |
Belgien: europe-west1 2R Taiwan: asia-east1 2R |
South Carolina: us-east1 |
Nur Lesezugriff: us-west2 1-OR |
nam-eur-asia3 |
nam-eur-asia3 | Iowa: us-central1 L,2R South Carolina: us-east1 2R |
Belgien: europe-west1 1R Niederlande: europe-west4 1R Taiwan: asia-east1 2R |
Oklahoma: us-central2 |
L: Standardmäßig führende Region. Weitere Informationen finden Sie unter Führende Region einer Datenbank ändern.
1R: ein Replikat in der Region.
2R: zwei Replikate in der Region.
2RW+1W: Zwei Replikate mit Lese-/Schreibzugriff und ein Zeugenreplikat in der Region.
1-OR: ein optionales Replikat. Sie können eine benutzerdefinierte regionale Instanzkonfiguration erstellen und ein optionales schreibgeschütztes Replikate hinzufügen. Weitere Informationen finden Sie unter Benutzerdefinierte Instanzkonfiguration erstellen.
2-OR: bis zu zwei optionale Replikate. Sie können eine benutzerdefinierte regionale Instanzkonfiguration erstellen und ein oder zwei optionale Replikate mit Lesezugriff hinzufügen. Wir empfehlen, nach Möglichkeit zwei hinzuzufügen, um eine niedrige Leselatenz zu gewährleisten. Weitere Informationen finden Sie unter Benutzerdefinierte Instanzkonfiguration erstellen.
A: Diese Instanzkonfiguration ist durch eine Zulassungsliste eingeschränkt. Wenden Sie sich an Ihren Technical Account Manager, um Zugriff zu erhalten.
Der Ressourcenspeicherort für eine multiregionale Instanzkonfiguration bestimmt die Zonengarantie für die Notfallwiederherstellung für die Konfiguration. Er definiert, wo Daten inaktiv gespeichert werden.
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 Spanner bieten.
Datenverteilung: 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 Spanner Daten in geografisch weit voneinander entfernten Standorten repliziert, können Sie 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 Basis-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. 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 enthalten einige Basiskonfigurationen für mehrere Regionen schreibgeschützte Replikate zum Verarbeiten von Lesevorgängen mit niedriger Latenz. 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. Wenn sich Ihre Clientanwendung in einer anderen Region als der des Leaders befindet, verwendet Spanner außerdem das Leader-fähige Routing, um Lese-Schreib-Transaktionen dynamisch zu leiten und so die Latenz in Ihrer Datenbank zu reduzieren. Weitere Informationen finden Sie unter Leiter-orientiertes Routing.
Sie können eine benutzerdefinierte Multi-Region-Instanzkonfiguration mit optionalen schreibgeschützten Replikaten erstellen. Von Ihnen erstellte benutzerdefinierte Replikate mit Lesezugriff können nicht in Schreibquorums aufgenommen werden. Sie können Standorte, die in der Spalte „Optionale Region“ aufgeführt sind, als optionale schreibgeschützte Replik(en) hinzufügen. Wenn der von Ihnen ausgewählte Speicherort für das schreibgeschützte Replikat nicht angezeigt wird, können Sie eine neue optionale Region für das schreibgeschützte Replikat anfordern. Weitere Informationen finden Sie unter Schreibgeschützte Replikate.
Best Practices für die Leistung von multiregionalen Konfigurationen
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 Rechenkapazität bereit, um die Auslastung von CPUs mit hoher Priorität unter 45 % in jeder Region zu halten.
- Informationen zum Durchsatz pro Spanner-Knoten finden Sie unter Leistung für multiregionale Konfigurationen.
Instanz verschieben
Sie können Ihre Spanner-Instanz aus einer beliebigen Instanzkonfiguration in eine andere Instanzkonfiguration verschieben, auch zwischen regionalen und multiregionalen Konfigurationen. Das Verschieben der Instanz führt nicht zu Ausfallzeiten und Spanner bietet während des Vorgangs weiterhin die üblichen Transaktionsgarantien, einschließlich strikter Konsistenz.
Weitere Informationen zum Verschieben von Spanner-Instanzen finden Sie unter Instanz verschieben.
Standardmäßige führende Region konfigurieren
Wenn Sie den Speicherort der standardmäßigen führenden Region Ihrer Datenbank ändern möchten, damit sie näher an den verbindenden Clients liegt, um die Anwendungslatenz zu reduzieren, können Sie die führende Region für jede Spanner-Instanz ändern, die eine Zwei-Regionen- oder Multi-Region-Konfiguration verwendet. Eine Anleitung zum Ändern des Standorts der führenden Region finden Sie unter Führende Region einer Datenbank ändern. Die einzigen Regionen, die als standardmäßig führende Region für Ihre Datenbank verwendet werden können, sind die nicht schreibgeschützten Regionen in Ihrer Dual-Region- oder Multi-Region-Konfiguration.
Die führende Region ist für die Verarbeitung aller Datenbankeinträge verantwortlich. Wenn also der Großteil Ihres Traffics aus einer bestimmten Region stammt, können Sie ihn in diese Region verschieben, um die Latenz zu verringern. Das Aktualisieren der standardmäßig führenden Region ist kostengünstig und erfordert keine Datenverschiebung. Es kann einige Minuten dauern, bis der neue Wert wirksam wird.
Das Ändern der Standard-Leiterregion ist eine Schemaänderung, für die ein lang andauernder Vorgang verwendet wird. Bei Bedarf können Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.
Vor- und Nachteile von regionalen, Dual-Region- und Multi-Region-Konfigurationen
Konfiguration | Verfügbarkeit | Latenz | Kosten | Datenlokalität |
---|---|---|---|---|
Regional | 99,99 % | Geringere Schreiblatenzen innerhalb der Region | Geringere Kosten; siehe Preise | Aktiviert die geografische Datenverwaltung |
Dual-Region | 99,999 % | Geringere Leselatenzen aus zwei geografischen Regionen, leichte Erhöhung der Schreiblatenz. | Höhere Kosten; siehe Preise | Daten werden auf zwei Regionen in einem Land verteilt. |
Mehrere Regionen | 99,999 % | Geringere Leselatenzen für mehrere geografische Regionen, leichte Erhöhung der Schreiblatenz. | Höhere Kosten; siehe Preise | Daten werden auf mehrere Regionen innerhalb der Konfiguration verteilt |
Nächste Schritte
- Weitere Informationen zum Erstellen einer Spanner-Instanz
- Weitere Informationen zu Google Cloud Geografie und Regionen