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. Machen Sie sich mit den Einschränkungen vertraut, bevor Sie die Skalierung konfigurieren.
Sie können einen Bigtable-Cluster so skalieren:
- Autoscaling
- Manuelle Knotenzuweisung
In den meisten Fällen sollten Sie Autoscaling auswählen. Wenn Sie das Autoscaling für einen Cluster aktivieren, überwacht Bigtable kontinuierlich den Cluster 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-Nutzung hoch ist, können Sie weitere Knoten in den Cluster aufnehmen, bis dessen CPU-Nutzung 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.
Skalierungsfaktor für Knoten
Wenn Sie einen Bigtable-Cluster erstellen, können Sie ihn mit einem 2-fachen Knotenskalierungsfaktor 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 Skalierung von Knoten um den Faktor 2 unter anderem folgende Vorteile:
- Verbesserter Durchsatz und verbesserte Stabilität der Tail-Latenz
- Bessere Möglichkeit, Hotspots zu absorbieren
Sie können einen Cluster mit aktiviertem 2‑fachen Knotenskalierungsfaktor erstellen, wenn Sie dieGoogle Cloud -Konsole 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 für den Knotenskalierungsfaktor.
Kleine Cluster
Die Skalierung mit 2 x Knoten ist optimal für größere Arbeitslasten. Wenn Sie erwägen, von der Standardskalierung von Knoten (Faktor 1) zur 2-fachen Knotenskalierung zu wechseln, 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. Wenn Sie beispielsweise die Knotenskalierung auf das Doppelte für eine Arbeitslast verwenden, die zuvor auf einem Cluster mit drei Knoten ausgeführt wurde, steigen die Kosten um 33%.
Bei einer Arbeitslast, die zuvor auf einem großen Cluster ausgeführt wurde, z. B. einem Cluster mit 50 Knoten, ist der Effekt eines Knotenskalierungsfaktors von 2 im Verhältnis zur Anzahl der Knoten gering.
Bigtable gibt einen Fehler zurück, wenn Sie versuchen, einen Cluster mit dem Knoten-Skalierungsfaktor 2x in einer nicht unterstützten Zone zu erstellen.
Beschränkungen
Die Clusterskalierung hängt von der Knotenverfügbarkeit ab, dauert eine Weile, kann ein ungeeignetes Schemadesign nicht ausgleichen und muss 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. 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 skalieren kann.
Einschränkungen des Skalierungsfaktors für Knoten
Sie können einen Cluster mit Standardskalierung von Knoten nicht in einen Cluster mit 2x-Knotenskalierung umwandeln. Sie müssen einen neuen Cluster erstellen und die 2x-Knotenskalierung beim Erstellen 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:
- asia-south1-c
- europe-central2-c
- me-central2-b
- me-central2-c
- northamerica-northeast1-a
- northamerica-northeast1-b
- southamerica-east1-c
- us-south1-b
- us-south1-c
Nächste Schritte
- Bigtable-Autoscaling
- Informationen zum Überwachen von Instanzen – sowohl programmatisch als auch über die Google Cloud Console