Skalierung

Beim Skalieren eines Clusters werden dem Cluster Knoten hinzugefügt oder daraus entfernt, um auf Änderungen der Arbeitslast oder Datenspeicheranforderungen des Clusters zu reagieren. Wenn Sie einen Cluster erstellen, können Sie auch den Knotenskalierungsfaktor für den Cluster konfigurieren. Bevor Sie die Skalierung konfigurieren, sollten Sie sich mit den Einschränkungen vertraut machen.

Sie können einen Bigtable-Cluster so skalieren:

In den meisten Fällen sollten Sie Autoscaling auswählen. Wenn Sie Autoscaling für einen Cluster aktivieren, überwacht Bigtable den Cluster kontinuierlich und passt die Anzahl der Knoten automatisch entsprechend Ihren Einstellungen an.

Sie können Ihren Bigtable-Cluster anhand von Messwerten wie der CPU-Auslastung des Clusters skalieren. Wenn Ihr Cluster beispielsweise stark ausgelastet und die CPU-Auslastung hoch ist, können Sie weitere Knoten in den Cluster aufnehmen, bis die CPU-Auslastung sinkt. Auf der anderen Seite können Sie auch Geld sparen, indem Sie Knoten aus dem Cluster entfernen, wenn er nicht so stark ausgelastet ist.

Knotenskalierungsfaktor

Wenn Sie einen Bigtable-Cluster erstellen, haben Sie die Möglichkeit, den Cluster mit einem Knotenskalierungsfaktor von 2 zu konfigurieren. Wenn Sie diese Konfiguration auswählen, behandelt Bigtable zwei Standardknoten als einen größeren einzelnen Rechenknoten und der Cluster wird immer in Schritten von zwei Knoten skaliert. Dadurch gibt es weniger Rechengrenzen zwischen den Knoten im Cluster. Je nach Arbeitslast bietet die 2-fache Knotenskalierung folgende Vorteile:

  • Verbesserter Durchsatz und stabilere Tail-Latenz
  • Bessere Möglichkeit, Hotspots zu absorbieren

Sie können einen Cluster mit aktiviertem 2-fachem Knotenskalierungsfaktor erstellen, wenn Sie die Google Cloud Console oder die gcloud CLI verwenden.

Sie können die 2-fache Knotenskalierung mit Autoscaling oder manueller Knotenzuweisung konfigurieren.

Informationen zu Einschränkungen finden Sie unter Einschränkungen des Knotenskalierungsfaktors.

Kleine Cluster

Die 2-fache Knotenskalierung ist optimal für größere Arbeitslasten. Wenn Sie von der Standardknotenskalierung (um den Faktor 1) zur 2-fachen Knotenskalierung wechseln möchten, sollten Sie die Auswirkungen auf die Kosten berücksichtigen. Bei einer kleineren Arbeitslast, z. B. einer, die auf einem Cluster mit einem Knoten ausgeführt wird, kostet die 2-fache Knotenskalierung doppelt so viel. Ebenso steigen die Kosten um 33 %, wenn Sie die 2-fache Knotenskalierung für eine Arbeitslast verwenden, die zuvor auf einem Cluster mit drei Knoten ausgeführt wurde.

Bei einer Arbeitslast, die zuvor auf einem großen Cluster ausgeführt wurde, z. B. einem Cluster mit 50 Knoten, ist die Auswirkung eines 2-fachen Knotenskalierungsfaktors im Verhältnis zur Anzahl der Knoten gering.

Bigtable gibt einen Fehler zurück, wenn Sie versuchen, einen Cluster mit einem 2-fachen Knotenskalierungsfaktor in einer nicht unterstützten Zone zu erstellen.

Beschränkungen

Die Clusterskalierung hängt von der Knotenverfügbarkeit ab, dauert einige Zeit und kann ein ungeeignetes Schemadesign nicht kompensieren. Außerdem muss sie schrittweise erfolgen. In den folgenden Abschnitten werden diese Einschränkungen sowie Einschränkungen beschrieben, die für die 2-fache Knotenskalierung gelten.

Knotenverfügbarkeit

Knotenkontingente gelten unabhängig davon, ob für einen Cluster die manuelle Knotenzuweisung oder das Autoscaling aktiviert ist. Ausführliche Informationen finden Sie unter Kontingente und Knotenverfügbarkeit.

Verzögerung beim Ausbalancieren von Knoten

Nachdem Sie Knoten einem Cluster hinzugefügt haben, kann es bis zu 20 Minuten unter Last dauern, bevor Sie eine signifikante Verbesserung der Leistung des Clusters feststellen. Daher wird das Hinzufügen von Knoten zu Ihrem Cluster aufgrund der CPU-Last keine Leistungsverbesserung bringen, wenn Ihre Arbeitslast mit kurzen Schüben hoher Aktivität verbunden ist. Sobald Bigtable so weit ist und die Daten neu ausbalanciert hat, ist der kurze Aktivitätsschub bereits wieder vorüber.

Um diese Verzögerung einzuplanen, können Sie Ihrem Cluster entweder programmatisch oder über die Google Cloud Console Knoten hinzufügen, bevor Sie die Auslastung des Clusters erhöhen. Diese Vorgehensweise verschafft Bigtable Zeit, die Daten über die zusätzlichen Knoten auszubalancieren, bevor die Arbeitslast zunimmt. Ändern Sie bei Clustern, die die manuelle Knotenzuweisung verwenden, die Anzahl der Knoten. Ändern Sie bei Clustern mit Autoscaling die Mindestanzahl an Knoten. Wenn der Traffic wieder normal ist, ändern Sie die Knoteneinstellungen zurück.

Latenzerhöhungen durch zu schnelles Herunterskalieren

Wenn Sie die Anzahl der Knoten in einem Cluster verringern, um sie herunterzuskalieren, versuchen Sie, die Clustergröße in einem Zeitraum von 10 Minuten nicht um mehr als 10 % zu reduzieren. Wenn Sie zu schnell herunterskalieren, können Leistungsprobleme auftreten, z. B. eine höhere Latenz, wenn die verbleibenden Knoten im Cluster vorübergehend überlastet werden.

Probleme beim Schemadesign

Wenn das Schemadesign Ihrer Tabelle problematisch ist, führen weitere Knoten in Ihrem Bigtable-Cluster möglicherweise nicht zu besserer Leistung. Wenn sich beispielsweise eine große Anzahl von Lese- oder Schreibzugriffen auf eine einzelne Zeile Ihrer Tabelle richten, betreffen alle Lese- oder Schreibzugriffe denselben Knoten im Cluster. In diesem Fall führt das Hinzufügen von Knoten nicht zu einer Leistungsverbesserung. Sind die Lese- und Schreibzugriffe hingegen gleichmäßig über die Zeilen der Tabelle verteilt, führen mehr Knoten im Allgemeinen zu besserer Leistung.

Unter Schema entwerfen finden Sie Details dazu, wie Sie ein Schema entwerfen, mit dem Bigtable effektiv skaliert werden kann.

Einschränkungen des Knotenskalierungsfaktors

Sie können einen Cluster mit Standardknotenskalierung nicht so umwandeln, dass er die 2-fache Knotenskalierung verwendet. Sie müssen einen neuen Cluster erstellen und die 2-fache Knotenskalierung bei der Erstellung aktivieren. Weitere Informationen zum Hinzufügen eines Clusters zu einer Instanz finden Sie unter Instanz ändern.

Sie können die 2-fache Knotenskalierung nicht für einen HDD-Cluster konfigurieren.

Sie können Cluster mit 2-facher Knotenskalierung in jeder Bigtable-Region, aber nicht in jeder Zone erstellen. Die folgenden Zonen können keinen Cluster mit 2-facher Knotenskalierung enthalten:

  • me-central2-b
  • southamerica-east1-c

Nächste Schritte