Tabellen verwalten

Auf dieser Seite wird erläutert, wie Sie mithilfe von cbt command-line tool oder der Google Cloud Console Informationen zu Cloud Bigtable-Tabellen erstellen, ändern, löschen und 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 programmatisch mit einer der Bigtable-Clientbibliotheken oder Dienst-APIs verwalten.

Hinweis

Wenn Sie Tabellen über die Befehlszeile verwalten möchten, installieren Sie cbt tool.

cbt-Tool konfigurieren

Sie können Standardwerte für die folgenden cbt tool-Konfigurationseinstellungen angeben:

  • Das Projekt, in dem die Bigtable-Instanz gespeichert ist.
  • Die Bigtable-Instanz, zu der eine 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 das cbt-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

Bei den cbt tool-Anweisungen auf dieser Seite wird 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 erstellen, müssen Sie die in der Tabelle zu verwendenden Spaltenfamilien nicht angeben. Sie können Spaltenfamilien später hinzufügen oder löschen.

Console

So erstellen Sie in einer Instanz eine neue Tabelle:

  1. Öffnen Sie in der Cloud Console die Liste der Bigtable-Instanzen.

    Zur Liste der Instanzen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite "Tabellen" enthält eine Liste der in der Instanz vorhandenen Tabellen.

  4. Klicken Sie auf Tabelle erstellen.

  5. Geben Sie eine Tabellen-ID für die Tabelle ein.

  6. Spaltenfamilien hinzufügen (optional)

    Sie können Spalten jetzt oder später hinzufügen. Eine Tabelle muss mindestens eine Spaltenfamilie haben, bevor Sie Daten in sie schreiben können.

  7. Klicken Sie auf Erstellen.

cbt

Verwenden Sie den folgenden Befehl und ersetzen Sie [TABLE_NAME] durch den Namen Ihrer Tabelle:

cbt createtable [TABLE_NAME]

Tabelle nach dem Zeilenschlüssel teilen

Ein Feature von 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 mit der cbt tool- oder einer Bigtable-Clientbibliothek 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 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. 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.

Console

Sie können die Zeilen nicht im Voraus aufteilen, wenn Sie eine Tabelle mit der Google Cloud Console erstellen.

cbt

Wenn Sie eine Tabelle basierend auf dem Zeilenschlüssel im Voraus aufteilen 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 Vorabaufteilung 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

Sie können Spaltenfamilien in einer vorhandenen Tabelle hinzufügen oder löschen.

Spaltenfamilien hinzufügen

Console

  1. Öffnen Sie in der Cloud Console die Liste der Bigtable-Instanzen.

    Zur Liste der Instanzen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite "Tabellen" enthält eine Liste der in der Instanz vorhandenen Tabellen.

  4. Klicken Sie für die Tabelle, die Sie ändern möchten, auf Bearbeiten.

  5. Geben Sie für jede Spaltenfamilie, die Sie hinzufügen möchten, folgende Schritte ein:

    1. Klicken Sie auf Spaltenfamilie hinzufügen.
    2. Geben Sie eine eindeutige Kennung für die Spaltenfamilie ein.
    3. Legen Sie die Richtlinie für die automatische Speicherbereinigung für die Spaltenfamilie fest.
    4. Klicken Sie auf Fertig.
  6. Klicken Sie auf Speichern.

cbt

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

Console

  1. Öffnen Sie in der Cloud Console die Liste der Bigtable-Instanzen.

    Zur Liste der Instanzen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite "Tabellen" enthält eine Liste der in der Instanz vorhandenen Tabellen.

  4. Klicken Sie für die Tabelle, die Sie ändern möchten, auf Bearbeiten.

  5. Führen Sie für jede Spaltenfamilie, die Sie löschen möchten, die folgenden Schritte aus:

    1. Bewegen Sie den Mauszeiger auf die Zeile für die Spaltenfamilie, die Sie löschen möchten.
    2. Klicken Sie auf .
  6. Klicken Sie auf Speichern.

  7. Um zu bestätigen, dass Sie verstanden haben, dass das Löschen einer Spaltenfamilie dauerhaft ist und dass alle Daten in der Spaltenfamilie gelöscht werden, geben Sie "Spaltenfamilien löschen" in das Textfeld ein.

  8. Klicken Sie auf Bestätigen.

cbt

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:

  1. Öffnen Sie in der Cloud Console die Liste der Bigtable-Instanzen.

    Zur Liste der Instanzen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. 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

Console

So rufen Sie Informationen zu einer Tabelle auf:

  1. Öffnen Sie in der Cloud Console die Liste der Bigtable-Instanzen.

    Zur Liste der Instanzen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite "Tabellen" enthält eine Liste der in der Instanz vorhandenen Tabellen. Für jede Tabelle zeigt die Cloud Console die Anzahl der Cluster an, in denen die Tabelle gespeichert ist, sowie den Status, die Speicherauslastung und die Kennungen für alle aktuellen Sicherungen der Tabelle.

  4. Klicken Sie auf , um die Namen der Spaltenfamilien für die Tabelle aufzurufen.

  5. Klicken Sie auf Abbrechen, um den Bereich Tabelle bearbeiten zu schließen.

cbt

Mit dem cbt-Tool können Sie eine Liste der vorhandenen Spaltenfamilien in einer Tabelle abrufen.

Verwenden Sie den folgenden Befehl und ersetzen Sie dabei [TABLE_NAME] durch den Tabellennamen:

cbt ls [TABLE_NAME]

Richtlinien zur Speicherbereinigung festlegen

Eine Richtlinie für die automatische Speicherbereinigung teilt Bigtable mit, welche Daten beibehalten und welche zum Löschen markiert werden sollen. Richtlinien für die automatische Speicherbereinigung werden auf der Ebene der Spaltenfamilien festgelegt. Sie können sie beim Erstellen der Tabelle oder höher festlegen.

Wenn Sie eine Spaltenfamilie erstellen, können Sie die Anzahl der Zellen angeben, die Sie in jeder Spalte der Spaltenfamilie beibehalten möchten. Wenn Sie diese Einstellung nicht angeben, verwendet Bigtable eine der folgenden Standardeinstellungen.

  • Wenn Sie die Spaltenfamilie mit dem Cloud Bigtable-HBase-Client für Java oder mit HBase Shell oder mit einem anderen Tool erstellen, das den HBase-Client für Java verwendet, behält Bigtable nur eine Zelle für jede Zeilen-/Spaltenkreuzung in der Spaltenfamilie bei. Diese Standardeinstellung stimmt mit HBase überein.

  • Wenn Sie die Spaltenfamilie in der Cloud Console, eine andere Clientbibliothek oder den cbt tool erstellen, behält Bigtable unbegrenzt viele Zellen in jeder Spalte bei.

Unter Richtlinien für die automatische Speicherbereinigung konfigurieren finden Sie eine detaillierte Anleitung, wie Sie Richtlinien für die automatische Speicherbereinigung anzeigen, festlegen und aktualisieren.

Tabelle sichern und wiederherstellen

Eine Anleitung zum Sichern einer Tabelle und zum Wiederherstellen aus einer Sicherung in einer neuen Tabelle finden Sie unter Sicherungen verwalten.

Tabelle löschen

Console

  1. Öffnen Sie in der Cloud Console die Liste der Bigtable-Instanzen.

    Zur Liste der Instanzen

  2. Klicken Sie auf die Instanz, deren Tabellen Sie abrufen möchten.

  3. Klicken Sie im linken Bereich auf Tabellen.

    Die Seite "Tabellen" enthält eine Liste der in der Instanz vorhandenen Tabellen.

  4. Klicken Sie für die Tabelle, die Sie löschen möchten, auf .

  5. Klicken Sie auf Löschen.

  6. Bestätigen Sie, dass Sie diese Aktion nicht rückgängig machen können und die Tabelle aus allen Clustern in der Instanz löschen wird. Geben Sie dazu die Tabellen-ID in das Textfeld ein.

  7. Klicken Sie auf Löschen.

cbt

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]