Instanzen, Cluster und Knoten

Zur Verwendung von Bigtable erstellen Sie Instanzen mit Clustern, zu denen Ihre Anwendungen eine Verbindung herstellen können. Jeder Cluster enthält Knoten, also Recheneinheiten , die Ihre Daten verwalten und Wartungsaufgaben ausführen.

Diese Seite enthält weitere Informationen zu Bigtable-Instanzen, -Clustern und -Knoten.

Voraussetzung dafür ist die Kenntnis der Übersicht über Bigtable.

Instanzen

Eine Bigtable-Instanz ist ein Container für Ihre Daten. Instanzen haben einen oder mehrere Cluster, die sich in verschiedenen Zonen befinden. Jeder Cluster hat mindestens einen Knoten.

Eine Tabelle gehört nicht zu einem Cluster oder Knoten, sondern zu einer Instanz. Wenn Sie eine Instanz mit mehr als einem Cluster haben, verwenden Sie die Replikation. Das bedeutet, dass Sie einem einzelnen Cluster keine Tabelle zuweisen und keine eindeutige Richtlinien für die automatische Speicherbereinigung für jeden Cluster in einer Instanz erstellen können. Sie können außerdem nicht festlegen, dass jeder Cluster einen anderen Datensatz in derselben Tabelle speichert.

Eine Instanz hat einige wichtige Eigenschaften, die Sie kennen sollten:

  • Die Version (Enterprise oder Enterprise Plus)
  • Der Speichertyp (SSD oder HDD)
  • Die Anwendungsprofile, die hauptsächlich für Instanzen mit Replikation verwendet werden

In den folgenden Abschnitten werden diese Eigenschaften beschrieben.

Versionen

Wenn Sie eine Instanz erstellen, müssen Sie eine Version auswählen. Die Enterprise-Version ist der etablierte Bigtable-Dienst für anspruchsvolle Arbeitslasten mit mehreren Mandanten, die ein Höchstmaß an Leistung und globaler Verfügbarkeit erfordern.

Sie können die Version später an Ihre sich ändernden Arbeitslasten anpassen. Änderungen an der Version einer Instanz werden sofort wirksam. Weitere Informationen finden Sie unter Übersicht über Versionen.

Wenn Sie eine Latenz für Punktlesevorgänge von weniger als einer Millisekunde benötigen, können Sie die integrierte In-Memory-Stufe (Vorschau) für Ihren Cluster aktivieren. In-Memory ist nur mit der Enterprise Plus-Version verfügbar. Weitere Informationen finden Sie unter In-Memory-Cache – Übersicht.

Speichertypen

Wenn Sie eine Instanz erstellen, müssen Sie auswählen, ob die Cluster der Instanz Daten auf SSD oder Festplattenlaufwerken speichern. SSD ist oft, aber nicht immer, die effizienteste und kostengünstigste Wahl.

Die Wahl zwischen SSD und HDD ist unumkehrbar und jeder Cluster in Ihrer Instanz muss denselben Speichertyp verwenden. Aus diesem Grund sollten Sie sich bei der Wahl des richtigen Speichertyps für Ihren Anwendungsfall sicher sein. Weitere Informationen, die Ihnen bei dieser Entscheidung helfen können, finden Sie unter Zwischen SSD- und HDD-Speicher wählen.

Wenn Sie aus Gründen wie gesetzlichen Anforderungen Verlaufsdaten speichern müssen, verwenden Sie den Speicher für seltenen Zugriff von Bigtable im Rahmen des mehrstufigen Speichers (Vorschau). Diese Option ist für SSD-Instanzen verfügbar.

Anwendungsprofile

Nachdem Sie eine Instanz erstellt haben, verwendet Bigtable die Instanz, um Anwendungsprofile zu speichern. Bei Instanzen mit Replikation steuern Anwendungsprofile, wie Ihre Anwendungen Verbindungen zu den Clustern der Instanz herstellen.

Auch bei Instanzen ohne Replikation können Sie Anwendungsprofile verwenden, um separate Kennzeichnungen für jede Anwendung oder jede Funktion in einer Anwendung anzugeben. Sie haben dann die Möglichkeit, eigene Diagramme für jedes Anwendungsprofil in der Console Google Cloud aufzurufen.

Weitere Informationen zu Anwendungsprofilen finden Sie unter Anwendungsprofile. Unter Anwendungsprofile konfigurieren wird beschrieben, wie Anwendungsprofile einer Instanz eingerichtet werden.

Cluster

Ein Cluster stellt den Bigtable-Dienst an einem bestimmten Standort dar. Jeder Cluster gehört zu genau einer Bigtable-Instanz und eine Instanz kann Cluster in bis zu acht Regionen haben. Wenn Ihre Anwendung Anfragen an eine Bigtable-Instanz sendet, werden diese Anfragen von einem der Cluster in der Instanz verarbeitet.

Jeder Cluster befindet sich in genau einer Zone. Eine Instanz kann Cluster in bis zu acht Regionen haben, in denen Bigtable verfügbar ist. Jede Zone in einer Region kann nur einen Cluster enthalten. Wenn eine Instanz beispielsweise einen Cluster in us-east1-b hat, können Sie einen Cluster in einer anderen Zone in derselben Region, z. B. us-east1-c, oder in einer Zone in einer anderen Region, z. B. europe-west2-a, hinzufügen.

Die Anzahl der Cluster, die Sie in einer Instanz erstellen können, hängt von der Anzahl der verfügbaren Zonen in den ausgewählten Regionen ab. Wenn Sie beispielsweise Cluster in acht Regionen mit jeweils drei Zonen erstellen, beträgt die maximale Anzahl von Clustern, die die Instanz haben kann, 24. Eine Liste der Zonen und Regionen, in denen Bigtable verfügbar ist, finden Sie unter Bigtable-Standorte.

Bigtable-Instanzen, die nur einen Cluster haben, verwenden keine Replikation. Wenn Sie eine Instanz um einen zweiten Cluster erweitern, beginnt Bigtable automatisch mit der Replikation Ihrer Daten. Dazu werden in jeder Zone des Clusters separate Datenkopien gespeichert und Updates zwischen den Kopien synchronisiert. Sie können entscheiden, zu welchem Cluster Ihre Anwendungen eine Verbindung herstellen. Dadurch lassen sich verschiedene Arten von Traffic voneinander isolieren. Sie können Bigtable auch den Traffic zwischen Clustern ausgleichen lassen. Wenn ein Cluster nicht mehr verfügbar ist, kann ein Failover von einem Cluster auf einen anderen erfolgen. Weitere Informationen zur Funktionsweise der Replikation finden Sie unter der Replikationsübersicht.

In den meisten Fällen sollten Sie das Autoscaling aktivieren für einen Cluster, damit Bigtable nach Bedarf Knoten hinzufügt und entfernt, um die Arbeitslasten des Clusters zu verarbeiten.

Wenn Sie einen Cluster erstellen, können Sie die 2-fache Knotenskalierung aktivieren. Diese Konfiguration legt fest, dass der Cluster immer in Schritten von zwei Knoten skaliert wird. Weitere Informationen finden Sie unter Knotenskalierungsfaktor.

Knoten

Jeder Cluster in einer Instanz hat einen oder mehrere Knoten. Das sind Rechenressourcen, die Bigtable zur Verwaltung Ihrer Daten verwendet.

Die Rechenkapazität und Leistung eines Knotens hängen von der Instanzversion ab. Weitere Informationen finden Sie unter Leistung verstehen.

Hinter den Kulissen teilt Bigtable alle Daten in einer Tabelle in separate Tabellenreihen auf. Tabellenreihen werden getrennt von den Knoten auf dem Laufwerk gespeichert, jedoch in derselben Zone, in der sich die Knoten befinden. Eine Tabellenreihe ist einem einzelnen Knoten zugeordnet.

Jeder Knoten ist für Folgendes verantwortlich:

  • Nachverfolgen bestimmter Tabellenreihen auf dem Laufwerk
  • Verarbeitung eingehender Lese- und Schreibvorgänge für die ihm zugeordneten Tabellenreihen
  • Pflegen der ihm zugeordneten Tabellenreihen, z. B. durch regelmäßige Kompaktionen.

Ein Cluster muss genug Knoten haben, um seine aktuelle Arbeitslast und die Menge der gespeicherten Daten bewältigen zu können. Ansonsten ist der Cluster unter Umständen nicht in der Lage, eingehende Anfragen zu verarbeiten, was eine erhöhte Latenz zur Folge haben kann. Behalten Sie die CPU- und Laufwerkauslastung Ihrer Cluster im Auge und erweitern Sie eine Instanz um Knoten, wenn die Messwerte die Empfehlungen unter Kapazität planen überschreiten.

Weitere Informationen dazu, wie Bigtable Daten speichert und verwaltet, finden Sie unter Architektur von Bigtable.

Für Lesejobs mit hohem Durchsatz können Sie Data Boost für Bigtable für die Berechnung anstelle der Knoten Ihres Clusters verwenden. Mit Data Boost können Sie große Lesejobs und Abfragen mit serverlosem Computing senden, während Ihre Kernanwendung weiterhin Clusterknoten für die Berechnung verwendet. Weitere Informationen finden Sie unter Data Boost Übersicht.

Für Arbeitslasten mit Verlaufsdaten, auf die Sie nicht häufig zugreifen müssen, können Sie die Stufe für seltenen Zugriff in SSD-Instanzen verwenden.

Knoten für replizierte Cluster

Wenn Ihre Instanz mehr als einen Cluster hat, wird das Failover zu einem wichtigen Aspekt, wenn Sie die maximale Anzahl von Knoten für das Autoscaling konfigurieren oder die Knoten manuell zuweisen.

  • Wenn Sie in einem Ihrer Anwendungsprofile Multi-Cluster-Routing verwenden, automatisches Failover kann auftreten, wenn ein oder mehrere Cluster nicht verfügbar sind.

  • Wenn Sie manuell ein Failover von einem Cluster auf einen anderen durchführen oder wenn ein automatisches Failover auftritt, sollte der empfangende Cluster idealerweise über genügend Kapazität verfügen, um die Last zu bewältigen. Sie können entweder immer genügend Knoten zuweisen, um das Failover zu unterstützen, was kostspielig sein kann, oder Sie können sich auf das Autoscaling verlassen, um Knoten hinzuzufügen, wenn der Traffic ein Failover durchführt. Beachten Sie jedoch, dass es während der Aufskalierung des Clusters zu einer kurzen Beeinträchtigung der Leistung kommen kann.

  • Wenn in allen App-Profilen Single-Cluster-Routing verwendet wird, kann jeder Cluster eine andere Anzahl von Knoten haben. Passen Sie die Größe jedes Clusters nach Bedarf auf Basis seiner Arbeitslast an.

    Da Bigtable eine separate Kopie Ihrer Daten für jeden Cluster speichert, muss jeder Cluster immer genug Knoten haben, um Ihre Laufwerksnutzung zu unterstützen und Schreibvorgänge über die Cluster hinweg zu replizieren.

    Sie können bei Bedarf immer ein manuelles Failover von einem Cluster auf einen anderen anstoßen. Wenn allerdings ein Cluster sehr viel mehr Knoten als ein anderer hat und ein Failover auf den Cluster mit der geringeren Knotenanzahl erforderlich ist, müssen Sie unter Umständen zuerst Knoten hinzufügen. Es kann nicht garantiert werden, dass bei einem erforderlichen Failover ausreichend zusätzliche Knoten verfügbar sind. Die einzige Möglichkeit zur Vorabreservierung von Knoten besteht darin, den Cluster um Knoten zu erweitern.

Nächste Schritte