Rechenkapazität, Knoten und Verarbeitungseinheiten

Auf dieser Seite werden die Rechenkapazität von Spanner und die beiden Maßeinheiten beschrieben, die zur Quantifizierung verwendet werden: Knoten und Verarbeitungseinheiten.

Rechenkapazität

Die Rechenkapazität definiert die Menge der Server- und Speicherressourcen, die für die Datenbanken in einer Instanz verfügbar sind. Beim Erstellen einer Instanz geben Sie ihre Rechenkapazität als Anzahl der Verarbeitungseinheiten oder als Anzahl der Knoten an, wobei 1.000 Verarbeitungseinheiten 1 Knoten entsprechen.

Die verwendete Maßeinheit spielt keine Rolle, es sei denn, Sie erstellen eine Instanz mit weniger als 1.000 Verarbeitungseinheiten (1 Knoten). In diesem Fall müssen Sie Verarbeitungseinheiten verwenden, um die Rechenkapazität der Instanz anzugeben.

Wenn Sie die Rechenkapazität für eine Instanz definieren oder ändern, geben Sie Verarbeitungseinheiten in Vielfachen von 100 (100, 200, 300 usw.) an. Wenn die Anzahl der Verarbeitungseinheiten 1.000 erreicht, können Sie größere Mengen entweder als Vielfaches von 1.000 Verarbeitungseinheiten (1.000, 2.000, 3.000 usw.) oder als Knoten (1, 2, 3 usw.) angeben.

Instanzen mit weniger als 1.000 Verarbeitungseinheiten werden für kleinere Datengrößen, Abfragen und Arbeitslasten erstellt. Sie haben begrenzte Rechenressourcen, was zu einer nicht linearen Skalierung und Leistung für einige Arbeitslasten führen kann und zu zeitweilig erhöhten Latenzen führen kann.

Beschränkungen für die Datenspeicherung

Wie unter Kontingente und Limits beschrieben, verwendet Spanner die Rechenkapazität einer Instanz als Grundlage für die Bestimmung von Speicherlimits, um Hochverfügbarkeit und niedrige Latenz beim Zugriff auf eine Datenbank zu gewährleisten. Dabei werden die folgenden Richtlinien berücksichtigt:

  • Bei Instanzen mit weniger als einem Knoten (1.000 Verarbeitungseinheiten) weist Spanner 409,6 GB Daten pro 100 Verarbeitungseinheiten in der Datenbank zu.
  • Bei Instanzen mit mindestens 1 Knoten weist Spanner jedem Knoten 4 TB Daten zu. Eine erhöhte Speicherkapazität (10 TB pro Knoten) ist in ausgewählten regionalen und multiregionalen Spanner-Instanzkonfigurationen verfügbar. Weitere Informationen finden Sie unter Leistungs- und Speicherverbesserungen.

Wenn Sie beispielsweise eine Instanz für eine Datenbank mit 300 GB erstellen möchten, können Sie deren Rechenkapazität auf 100 Verarbeitungseinheiten festlegen. Diese Menge an Rechenkapazität hält die Instanz unter dem Limit, bis die Datenbank auf mehr als 409,6 GB anwächst. Wenn die Datenbank diese Größe erreicht hat, müssen Sie weitere 100 Verarbeitungseinheiten hinzufügen, damit die Datenbank wachsen kann. Andernfalls lehnt Spanner Schreibvorgänge in die Datenbank möglicherweise ab. Weitere Informationen finden Sie unter Empfehlungen für die Speichernutzung von Datenbanken.

Spanner stellt den Speicher in Rechnung, den die Instanzen tatsächlich nutzen, nicht das gesamte Speicherkontingent.

Leistung

Die Spitzenwerte, die mit einer bestimmten Rechenkapazität für den Durchsatz für Lese- und Schreibvorgänge 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.

Sie verwenden Instanzen mit weniger als 1.000 Verarbeitungseinheiten für kleinere Datengrößen, Abfragen und Arbeitslasten. Bei größeren Arbeitslasten können die begrenzten Rechenressourcen zu einer nicht linearen Skalierung und Leistung mit zeitweise steigenden Latenzen führen.

Rechenkapazität und Instanzkonfigurationen

Wie unter Regionale und multiregionale Konfigurationen beschrieben, verteilt Spanner eine Instanz auf die Zonen einer oder mehrerer Regionen, um Hochleistung und Hochverfügbarkeit zu bieten. Daher verteilt Spanner auch die Serverressourcen, die von der Rechenkapazität der Instanz bereitgestellt werden.

Das folgende Diagramm veranschaulicht diese Verteilung von Serverressourcen.

Zwei Instanzen, die in einer regionalen Instanzkonfiguration erstellt wurden

Dieses Diagramm zeigt zwei Instanzen mit regionalen Konfigurationen:

  • Instanz-A zeigt eine Instanz mit 1.000 Verarbeitungseinheiten (1 Knoten), deren Rechenkapazitätsverteilung Serverressourcen in jeder der drei Zonen verbraucht.
  • Instanz-B zeigt eine Instanz mit 2.000 Verarbeitungseinheiten (2 Knoten), deren Rechenkapazitätsverteilung Serverressourcen in jeder der drei Zonen verbraucht.

Beachten Sie in diesem Diagramm Folgendes:

  • Spanner weist jeder Instanz Serverressourcen in jeder Zone der regionalen Konfiguration zu. Jede zonenspezifische Serverressource verwendet das Datenreplikat in ihrer Zone. Informationen zu Datenreplikaten in Instanzkonfigurationen finden Sie unter Regionale und multiregionale Konfigurationen. Informationen dazu, wie Spanner diese Datenreplikate synchronisiert, finden Sie unter Replikation.

  • Die Serverressourcen für Instanz-A werden in einzelnen Feldern angezeigt, während die Ressourcen für Instanz-B in Feldern angezeigt werden, die in zwei Teile unterteilt sind. Dieser Unterschied zeigt, dass Spanner Serverressourcen für Instanzen unterschiedlicher Größe unterschiedlich zuweist:

    • Bei Instanzen mit bis zu 1.000 Verarbeitungseinheiten (1 Knoten) weist Spanner Serverressourcen in einer einzelnen Serveraufgabe pro Zone zu.
    • Bei Instanzen mit mehr als 1.000 Verarbeitungseinheiten (1 Knoten) weist Spanner Serverressourcen in mehreren Serveraufgaben pro Zone zu, wobei eine Aufgabe pro 1.000 Verarbeitungseinheiten zugewiesen wird. Die Verwendung mehrerer Serveraufgaben pro Zone führt zu einer besseren Leistung und ermöglicht es Spanner, Datenbank-Splits zu erstellen und eine noch bessere Leistung bereitzustellen.

Rechenkapazität ändern

Nachdem Sie eine Instanz erstellt haben, können Sie ihre Rechenkapazität erhöhen. In den meisten Fällen werden Anfragen innerhalb weniger Minuten abgeschlossen. In seltenen Fällen kann das Hochskalieren bis zu einer Stunde dauern.

In den meisten Fällen können Sie auch die Rechenkapazität verringern. Es gibt einige Fälle, in denen Sie die Rechenkapazität nicht verringern können:

  • Zum Entfernen von Rechenkapazität müsste Ihre Instanz mehr als 4 TB Daten pro 1.000 Verarbeitungseinheiten (1 Knoten) speichern.
  • Basierend auf Ihren bisherigen Nutzungsmustern hat Spanner eine große Anzahl von Splits für die Daten Ihrer Instanz erstellt. In seltenen Fällen kann Spanner die Splits dann nach dem Entfernen von Rechenkapazität nicht mehr verwalten.

Im letzteren Fall könnten Sie versuchen, die Rechenkapazität schrittweise um immer kleinere Beträge zu reduzieren, bis Sie die Mindestkapazität gefunden haben, die Spanner zur Verwaltung aller Splits der Instanz benötigt. Wenn die Instanz aufgrund einer Änderung der Nutzungsmuster nicht mehr so viele Splits benötigt, kann Spanner einige Splits letztendlich zusammenführen. Sie können dann nach ein bis zwei Wochen versuchen, die Rechenkapazität der Instanz weiter zu reduzieren.

Überwachen Sie beim Entfernen von Rechenkapazität die CPU-Auslastung und die Anfragelatenzen in Cloud Monitoring, damit die CPU-Auslastung für regionale Instanzen unter 65% und in multiregionalen Instanzen unter 45% bleibt. Unter Umständen kann es zu einem vorübergehenden Anstieg der Anfragelatenzen kommen, während Sie Rechenkapazität entfernen.

Spanner hat keinen Sperrmodus. Die Rechenkapazität von Spanner ist eine dedizierte Ressource. Selbst wenn Sie keine Arbeitslast ausführen, führt Spanner häufig Hintergrundarbeiten durch, um Ihre Daten zu optimieren und zu schützen.

Sie können die Rechenkapazität über die Google Cloud Console, die Google Cloud CLI oder die Spanner-Clientbibliotheken ändern. Weitere Informationen finden Sie unter Rechenkapazität ändern.

Rechenkapazität im Vergleich zu Replikaten

Wenn Sie die Server- und Speicherressourcen in Ihrer Instanz vertikal skalieren müssen, erhöhen Sie die Rechenkapazität der Instanz. Beachten Sie, dass eine Erhöhung der Rechenkapazität nicht die Anzahl der Replikate erhöht (die für eine bestimmte Instanzkonfiguration festgelegt sind), sondern vielmehr die Ressourcen jedes Replikats in der Instanz. Durch das Erhöhen der Rechenkapazität erhält jedes Replikat mehr CPU und RAM, wodurch der Durchsatz des Replikats erhöht wird (d. h. mehr Lese- und Schreibvorgänge pro Sekunde können auftreten).

Nächste Schritte