Auf dieser Seite wird erläutert, wie Sie mit dem cbt
-Befehlszeilentool Tabellen erstellen, ändern und löschen und Informationen zu vorhandenen Tabellen mit dem cbt
-Tool oder mit der Google Cloud Console abrufen.
Das cbt
-Tool unterstützt verschiedene Befehle, die auf dieser Seite nicht beschrieben werden.
Eine vollständige Liste der Befehle finden Sie in der cbt
-Referenz.
Tabellen lassen sich auch programmgesteuert mit einer der Cloud Bigtable-Clientbibliotheken oder -Dienst-APIs verwalten.
Hinweis
Installieren Sie das cbt
-Tool, bevor Sie beginnen.
cbt-Tool konfigurieren
Sie können Standardwerte für die folgenden cbt
-Konfigurationseinstellungen angeben:
- Das Projekt, in dem die Cloud Bigtable-Instanz gespeichert ist.
- Die Cloud Bigtable-Instanz, zu der die Verbindung hergestellt werden soll.
- Die Datei mit den Anmeldedaten im JSON-Format, die beim Herstellen der Verbindung zur Instanz verwendet werden soll.
Siehe auch Anleitung zum Erstellen eines Dienstkontoschlüssels. Wenn Sie zur Authentifizierung
gcloud auth application-default login
ausgeführt haben oder wenn Sie dascbt
-Tool bei einer Compute Engine-Instanz verwenden, benötigen Sie keine Anmeldedatendatei. - Die zu verwendenden API-Endpunkte; Diese Werte müssen in der Regel nicht geändert werden.
Zur Angabe von Standardwerten für diese Einstellungen erstellen Sie eine .cbtrc
-Datei in Ihrem Basisverzeichnis. Sie können die Standardwerte in .cbtrc
mit Befehlszeilenflags überschreiben.
Führen Sie zum Erstellen einer .cbtrc
-Datei den im Folgenden aufgeführten Befehl aus. Ersetzen Sie dabei [PROJECT_ID]
und [INSTANCE_ID]
durch die entsprechenden Werte:
echo -e "project = [PROJECT_ID]\ninstance = [INSTANCE_ID]" > ~/.cbtrc
Der Einfachheit halber wird bei den weiteren Anleitungen auf dieser Seite davon ausgegangen, dass die Projekt-ID und Instanz-ID in der Datei .cbtrc
festgelegt sind. Sie können diese Werte auch mit den Flags -project
und -instance
bei jeder Ausführung von cbt
festlegen.
Tabelle erstellen
Wenn Sie eine Tabelle mit dem cbt
-Tool erstellen, müssen Sie die in der Tabelle zu verwendenden Spaltenfamilien nicht angeben. Sie können Spaltenfamilien später hinzufügen oder löschen.
Zum Erstellen einer Tabelle verwenden Sie den folgenden Befehl. Dabei ersetzen Sie [TABLE_NAME]
durch den Namen Ihrer Tabelle:
cbt createtable [TABLE_NAME]
Tabelle nach dem Zeilenschlüssel teilen
Ein Feature von Cloud Bigtable als vollständig verwalteter Dienst ist das automatische Aufteilen von Tabellen auf mehrere Knoten. Mit diesem Feature wird die Leistung optimiert, weil die gespeicherte Datenmenge gleichmäßig auf jeden Knoten verteilt wird und Zeilen mit häufigem Zugriff nach Möglichkeit auseinandergezogen werden.
Wenn Sie eine Tabelle erstellen, können Sie Zeilenschlüssel auswählen, um die Tabelle im Voraus aufzuteilen. Beispielsweise können Sie bestimmte Zeilen für die Vorabaufteilung festlegen, wenn Sie viele Zeilen in die Tabelle schreiben möchten. Eine Tabelle muss nicht unbedingt im Voraus aufgeteilt werden, es ist jedoch von Vorteil, da Cloud Bigtable so schon beim Erstellen der Tabelle darüber informiert wird, wo die Last und das Datenvolumen wahrscheinlich landen werden. Die Aufteilung im Voraus verhindert, dass Cloud Bigtable gleichzeitig die Tabellen aufteilen und die Last ausgleichen muss, während die Daten eintreffen.
Die Tabelle bleibt nicht bei den Zeilenschlüsseln aufgeteilt, die Sie für die Aufteilung im Voraus auswählen, wenn Sie die Tabelle erstellen. Cloud Bigtable teilt Ihre Tabelle schließlich bei anderen Zeilenschlüsseln auf, je nachdem, wie viele Daten in der Tabelle enthalten sind und wie häufig auf jede Zeile zugegriffen wird.
Wenn Sie eine Tabelle basierend auf dem Zeilenschlüssel im Voraus teilen möchten, erstellen Sie die Tabelle mit der folgenden Syntax. Ersetzen Sie [TABLE_NAME]
durch den Tabellennamen und [SPLITS]
durch eine durch Kommas getrennte Liste mit Zeilenschlüsselpräfixen, die für die Vorabteilung verwendet werden sollen.
cbt createtable [TABLE_NAME] splits=[SPLITS]
Verwenden Sie folgenden Befehl, um die Tabelle my-table
beispielsweise im Voraus bei den Zeilenschlüsseln aufzuteilen, die mit 10
und 20
beginnen:
cbt createtable my-table splits=10,20
Spaltenfamilien in einer Tabelle anpassen
Mit dem cbt
-Tool können Sie Spaltenfamilien in einer vorhandenen Tabelle hinzufügen oder löschen.
Spaltenfamilien hinzufügen
Verwenden Sie den folgenden Befehl, um eine Spaltenfamilie einer Tabelle hinzuzufügen. Dabei ersetzen Sie [TABLE_NAME]
durch den Tabellennamen und [FAMILY_NAME]
durch den Namen der Spaltenfamilie:
cbt createfamily [TABLE_NAME] [FAMILY_NAME]
Führen Sie beispielsweise den folgenden Befehl aus, um die Spaltenfamilien cf1
und cf2
zur Tabelle my-table
hinzuzufügen:
cbt createfamily my-table cf1
cbt createfamily my-table cf2
Spaltenfamilien löschen
Verwenden Sie den folgenden Befehl, um eine Spaltenfamilie aus einer Tabelle zu löschen. Dabei ersetzen Sie [TABLE_NAME]
durch den Tabellennamen und [FAMILY_NAME]
durch den Namen der Spaltenfamilie:
cbt deletefamily [TABLE_NAME] [FAMILY_NAME]
Führen Sie beispielsweise den folgenden Befehl aus, um die Spaltenfamilie cf2
aus der Tabelle my-table
zu löschen:
cbt deletefamily my-table cf2
Tabellenliste abrufen
Console
So können Sie eine Liste der in einer Instanz vorhandenen Tabellen abrufen:
Öffnen Sie in der Cloud Console die Liste der Cloud Bigtable-Instanzen.
Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.
Klicken Sie im linken Bereich auf Tabellen.
Die Seite "Tabellen" enthält eine Liste der in der Instanz vorhandenen Tabellen.
- Klicken Sie auf den Pfeil neben der Tabellen-ID, um die Liste mit den Replikationen der Tabelle zu erweitern.
- Klicken Sie neben einem Tabellennamen auf Messwerte ansehen, um Monitoring-Daten für die Tabelle anzeigen zu lassen.
cbt
Führen Sie den folgenden Befehl aus, um eine Liste der in einer Instanz vorhandenen Tabellen abzurufen:
cbt ls
Informationen zu einer Tabelle ansehen
Mit dem cbt
-Tool können Sie eine Liste der vorhandenen Spaltenfamilien in einer Tabelle abrufen.
Zur Anzeige der Spaltenfamilien einer Tabelle verwenden Sie den folgenden Befehl und ersetzen dabei [TABLE_NAME]
durch den Tabellennamen:
cbt ls [TABLE_NAME]
Richtlinien zur Speicherbereinigung festlegen
In diesem Abschnitt wird erläutert, wie Sie mit dem cbt
-Tool steuern, wie viele Versionen der einzelnen Werte in Cloud Bigtable beibehalten werden und wie Sie eine Ablaufzeit für Werte angeben. Legen Sie programmatisch Richtlinien für die automatische Speicherbereinigung mit einer Cloud Bigtable-Clientbibliothek fest.
Mehrere Versionen von jedem Wert speichern
Wenn Sie eine Spaltenfamilie erstellen, können Sie angeben, wie viele Versionen von jedem Wert in der betreffenden Spaltenfamilie beibehalten werden sollen. Wenn Sie diese Einstellung nicht angeben, verwendet Cloud Bigtable eine der folgenden Standardeinstellungen.
- Wenn Sie die Spaltenfamilie mit dem HBase-Client für Java, mit HBase Shell oder mit einem anderen Tool erstellen, das den HBase-Client für Java verwendet, behält Cloud Bigtable nur eine Version jedes Werts in der Spaltenfamilie bei. Diese Standardeinstellung stimmt mit HBase überein.
- Wenn Sie die Spaltenfamilie mit einer anderen Clientbibliothek oder mit einem anderen Tool, einschließlich
cbt
, erstellen, behält Cloud Bigtable unbegrenzt viele Versionen von jedem Wert bei.
Wenn Sie die Anzahl der Versionen ändern möchten, die in einer Spaltenfamilie beibehalten werden, verwenden Sie den folgenden Befehl. Dabei ersetzen Sie [TABLE_NAME]
durch den Tabellennamen, [FAMILY_NAME]
durch den Namen der Spaltenfamilie und [VERSIONS]
durch die Anzahl der beizubehaltenden Versionen.
cbt setgcpolicy [TABLE_NAME] [FAMILY_NAME] maxversions=[VERSIONS]
Führen Sie beispielsweise den folgenden Befehl aus, um die Spaltenfamilie cf1
in der Tabelle my-table
so zu aktualisieren, dass fünf Versionen jedes Werts beibehalten werden:
cbt setgcpolicy my-table cf1 maxversions=5
Ablaufdatum für Werte festlegen
Wenn Sie eine Spaltenfamilie erstellen, können Sie für jeden Wert in dieser Spaltenfamilie angeben, wann er ablaufen soll. Wenn Sie diese Einstellung nicht festlegen, laufen Werte in der Spaltenfamilie niemals ab.
Damit Werte nach einer bestimmten Zeitspanne ablaufen, verwenden Sie den folgenden Befehl. Ersetzen Sie [TABLE_NAME]
durch den Tabellennamen, [FAMILY_NAME]
durch den Namen der Spaltenfamilie und [DAYS]
durch die Anzahl der Tage, für die jeder Wert beibehalten werden soll.
cbt setgcpolicy [TABLE_NAME] [FAMILY_NAME] maxage=[DAYS]d
So können Sie beispielsweise bewirken, dass Werte in der Spaltenfamilie cf1
nach einem Tag entfernt werden:
cbt setgcpolicy my-table cf1 maxage=1d
Tabelle sichern und wiederherstellen
Mit Cloud Bigtable können Sie eine Sicherung einer Tabelle erstellen und ihr eine TTL von bis zu 30 Tagen zuweisen. Sie können eine Sicherung in einer neuen Tabelle in der Instanz wiederherstellen, in der die Sicherung erstellt wurde. Eine Anleitung zum Sichern und Wiederherstellen einer Tabelle finden Sie unter Sicherungen verwalten.
Tabelle löschen
Zum Löschen einer Tabelle verwenden Sie den im Folgenden aufgeführten Befehl. Ersetzen Sie dabei [TABLE_NAME]
durch den Tabellennamen:
cbt deletetable [TABLE_NAME]