Replikation und Leistung
Das Aktivieren der Replikation wirkt sich auf die Leistung einer Bigtable-Instanz aus. Die Auswirkungen sind für einige Messwerte positiv und für andere negativ. Machen Sie sich mit den möglichen Auswirkungen auf die Leistung vertraut, bevor Sie die Replikation aktivieren.
Durchsatz für Lesevorgänge
Durch die Replikation kann der Durchsatz von Lesevorgängen verbessert werden, insbesondere wenn Sie Routing mit mehreren Clustern verwenden. Darüber hinaus kann die Replikation die Leselatenz reduzieren, indem Ihre Bigtable-Daten geografisch näher an den Nutzern Ihrer Anwendung platziert werden.
Durchsatz für Schreibvorgänge
Die Replikation kann zwar die Leseleistung verbessern, den Durchsatz für Schreibvorgänge kann sie jedoch nicht erhöhen. Ein Schreibzugriff auf einen Cluster muss auf alle anderen Cluster in der Instanz repliziert werden. Daher verbraucht jeder Cluster CPU-Ressourcen, um Änderungen aus den anderen Clustern abzurufen. Der Durchsatz für Schreibvorgänge kann ggf. sinken, da die Replikation für jeden Cluster zusätzliche Arbeit erfordert.
Beispiel: Sie haben eine Instanz mit einem einzelnen Cluster, der drei Knoten hat.
Wenn Sie dem Cluster weitere Knoten hinzufügen, sind die Auswirkungen auf den Durchsatz der Lesevorgänge anders, als wenn Sie die Replikation durch Hinzufügen eines zweiten Clusters mit drei Knoten aktivieren:
Hinzufügen von Knoten zum ursprünglichen Cluster: Sie können dem Cluster drei Knoten hinzufügen (insgesamt sechs Knoten). Der Durchsatz der Schreibvorgänge für die Instanz verdoppelt sich, die Daten der Instanz sind jedoch nur in einer Zone verfügbar.
Mit Replikation: Alternativ können Sie einen zweiten Cluster mit drei Knoten hinzufügen (insgesamt sechs Knoten). Die Instanz schreibt jetzt jedes Datenelement zweimal: Wenn der Schreibvorgang zum ersten Mal empfangen wird und noch einmal, wenn er auf dem anderen Cluster repliziert wird. Der Durchsatz für Schreibvorgänge nimmt nicht zu und kann ggf. abnehmen. Sie profitieren jedoch davon, dass Ihre Daten in zwei verschiedenen Zonen verfügbar sind.
In diesen Beispielen kann die Instanz mit einem einzelnen Cluster im Vergleich zur replizierten Instanz den doppelten Durchsatz für Schreibvorgänge verarbeiten, auch wenn die Cluster einer jeden Instanz insgesamt sechs Knoten haben.
Replikationslatenz
Wenn Sie Multi-Cluster-Routing verwenden, unterliegt die Replikation für Bigtable der Eventual Consistency. In der Regel dauert es länger, Daten über eine größere Entfernung hinweg zu replizieren. Replizierte Cluster in verschiedenen Regionen haben normalerweise eine höhere Replikationslatenz als replizierte Cluster in derselben Region.
Knotennutzung
Wie unter Durchsatz für Schreibvorgänge erläutert, muss jeder Cluster in einer Instanz, die Replikation verwendet, zusätzlich zur Last, die von Anwendungen empfangen wird, die Replikationsarbeit übernehmen. Aus diesem Grund benötigt ein Cluster in einer Multi-Cluster-Instanz häufig mehr Knoten als ein Cluster in einer Einzel-Cluster-Instanz mit ähnlichem Traffic.
Anwendungsprofile und Traffic-Routing
Je nach Anwendungsfall verwenden Sie ein oder mehrere Anwendungsprofile für das Routing von Bigtable-Traffic. Jedes Anwendungsprofil verwendet entweder Multi-Cluster- oder Single-Cluster-Routing. Die Wahl des Routings kann sich auf die Leistung auswirken.
Multi-Cluster-Routing kann die Latenz minimieren. Ein Anwendungsprofil mit Multi-Cluster-Routing leitet Anfragen aus Sicht der Anwendung automatisch an den nächstgelegenen Cluster in einer Instanz weiter. Die Schreibvorgänge werden dann auf die anderen Cluster in der Instanz repliziert. Diese automatische Wahl der kürzesten Entfernung führt zur geringsten Latenz.
Ein Anwendungsprofil mit Single-Cluster-Routing kann für bestimmte Anwendungsfälle optimal sein, z. B. für das Trennen von Arbeitslasten oder die Verwendung einer Lese-nach-Schreib-Semantik für einen einzelnen Cluster. Im Gegensatz zum Multi-Cluster-Routing verringert es jedoch nicht die Latenz.
Informationen zum Konfigurieren Ihrer App-Profile für diese und andere Anwendungsfälle finden Sie unter Beispiele für Replikationseinstellungen.
Zeilenbereiche löschen
Löschen Sie nach Möglichkeit keinen Zeilenbereich in einer Instanz, die Replikation verwendet, da der Vorgang langsam ist und die CPU-Nutzung während des Vorgangs zunimmt.
Nächste Schritte
- Mehr über Failovers erfahren
- Routingoptionen kennenlernen