Tabellen erstellen und verwalten

Auf dieser Seite wird erläutert, wie Sie Bigtable-Tabellen mit der Google Cloud Console, der Google Cloud CLI oder der cbt CLI erstellen und Vorgänge darauf ausführen.

Die cbt-Befehlszeile unterstützt verschiedene Befehle, die auf dieser Seite nicht beschrieben werden. Eine vollständige Liste der Befehle finden Sie in der cbt-Referenz.

Sie können Tabellen auch programmatisch mit den Cloud Bigtable-Clientbibliotheken oder Dienst-APIs erstellen und verwalten.

Eine Anleitung zum Erstellen und Verwalten autorisierter Ansichten einer Tabelle finden Sie unter Autorisierte Ansichten.

Hinweise

Wenn Sie Ihre Tabellen mithilfe von Befehlszeilentools bearbeiten möchten, folgen Sie den Schritten in diesem Abschnitt.

  1. Installieren Sie die gcloud CLI.

  2. Optional: Wenn Sie die cbt-Befehlszeile verwenden möchten, folgen Sie der Anleitung unter cbt-Befehlszeile installieren , einschließlich des Schritts zum Erstellen einer .cbtrc-Datei.

    Bei den Anleitungen der cbt-Befehlszeile auf dieser Seite wird davon ausgegangen, dass die Projekt-ID und die Instanz-ID in der Datei .cbtrc festgelegt sind. Alternativ können Sie diese Werte auch mit den Flags -project und -instance bei jeder Ausführung eines cbt-Befehls in der Befehlszeile 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 löschen oder hinzufügen.

Console

So erstellen Sie in einer Instanz eine neue Tabelle:

  1. Öffnen Sie in der Google 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. Geben Sie eine Tabellen-ID für die Tabelle ein.

  5. 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. Eine Tabelle muss mindestens eine Spaltenfamilie haben, bevor Sie Daten in sie schreiben oder einen Änderungsstream daraus lesen können.

  6. Optional: Aktivieren Sie einen Änderungsstream für die Tabelle. Bevor Sie einen Änderungsstream aktivieren, sollten Sie sich über die Auswirkungen informieren, einschließlich erhöhter Speicherkosten und Anforderungen an die App-Profilnutzung. Weitere Informationen finden Sie unter Übersicht über Änderungsstreams.

    1. Wählen Sie Änderungsstream aktivieren aus.

    2. Geben Sie im Feld Ablaufzeit eine Zahl zwischen 1 und 7 ein, um anzugeben, wie lange die Daten des Änderungsstreams aufbewahrt werden sollen.

    3. Klicken Sie auf Erstellen.

  7. Optional: Wenn Sie nicht möchten, dass Bigtable täglich eine Sicherung der Tabelle erstellt, entfernen Sie das Häkchen neben Automatische Sicherung aktivieren. Weitere Informationen finden Sie unter Automatisches Back-up verwenden (Vorabversion).

  8. Klicken Sie auf Tabelle erstellen.

gcloud

Führen Sie den folgenden Befehl aus, um eine Tabelle zu erstellen. Eine vollständige Liste der Optionen finden Sie unter gcloud bigtable instances tables create.

gcloud bigtable instances tables create TABLE_ID \
    --instance=INSTANCE_ID \
    --project=PROJECT_ID \
    --column-families=COLUMN-FAMILIES

Dabei gilt:

  • TABLE_ID: Eine eindeutige ID für die neue Tabelle
  • INSTANCE_ID: die ID der Instanz
  • PROJECT_ID: das Projekt, das die neue Tabelle enthalten soll
  • COLUMN-FAMILIES: Eine durch Kommas getrennte Liste von Spaltenfamiliennamen. Sie können später weitere Spaltenfamilien hinzufügen.

Optional:

  • Wenn Sie die Tabelle vor dem Löschen schützen möchten, fügen Sie dem Befehl --deletion-protection hinzu. Wenn Sie diese Einstellung nicht anwenden, kann die Tabelle gelöscht werden. Sie können das Löschen von Tabellen auch explizit zulassen, indem Sie --no-deletion-protection anhängen.

  • Wenn Sie einen Änderungsstream für die Tabelle aktivieren möchten, geben Sie eine Aufbewahrungsdauer für die Änderungsstream-Daten an. Bevor Sie einen Änderungsstream aktivieren, sollten Sie sich über die Auswirkungen informieren, einschließlich der erhöhten Speicherkosten und der Anforderungen an die Verwendung von App-Profilen. Weitere Informationen finden Sie unter Übersicht über Änderungsstreams.

    --change-stream-retention-period=RETENTION_PERIOD
    

    Ersetzen Sie RETENTION_PERIOD durch die Zeitspanne, in der Bigtable Änderungsstream-Daten für die Tabelle aufbewahren soll. Die Zeitspanne muss zwischen einem und sieben Tagen liegen. Zulässige Einheiten sind Tage (d), Stunden (h), Minuten (m) und Sekunden (s). Beispiele: 48h oder 6d

  • Wenn Bigtable täglich eine Sicherung Ihrer Tabelle erstellen soll, aktivieren Sie die automatische Sicherung (Vorabversion):

    gcloud bigtable instances tables create TABLE_ID \
        --instance=INSTANCE_ID \
        --project=PROJECT_ID \
        --column-families=COLUMN-FAMILIES \
        --enable-automated-backup
    

cbt

Verwenden Sie den folgenden Befehl und ersetzen Sie dabei TABLE_NAME durch den Namen Ihrer Tabelle. Sie können mit der cbt CLI keine Tabelle mit aktiviertem Änderungsstream erstellen.

cbt createtable TABLE_ID

Optional: Wenn Sie in der Tabelle eine Summenspaltenfamilie erstellen möchten, hängen Sie den Namen der Spaltenfamilie an den Aggregationstyp an. Im Folgenden wird eine aggregierte Spaltenfamilie mit der Richtlinie für die automatische Speicherbereinigung never erstellt.

cbt createtable TABLE_ID families=FAMILY_NAME:never:TYPE

Ersetzen Sie Folgendes:

  • TABLE_ID: Eine eindeutige ID für die neue Tabelle
  • FAMILY_NAME: Eine durch Kommas getrennte Liste von Spaltenfamiliennamen. Sie können später weitere Spaltenfamilien hinzufügen.
  • TYPE: den Aggregierungstyp. Muss intsum, intmin, intmax oder inthll sein.

Weitere Optionen finden Sie in der cbt-CLI-Referenz unter Tabelle erstellen.

Wenn Sie eine Tabelle versehentlich gelöscht haben, versuchen Sie nicht, sie manuell neu zu erstellen. Verwenden Sie den gcloud CLI-Befehl bigtable instances tables undelete, um die Tabelle wiederherzustellen.

Tabelle nach dem Zeilenschlüssel teilen

Zur Leistungsoptimierung teilt Bigtable Tabellen kontinuierlich auf mehrere Knoten auf, verteilt die auf jedem Knoten gespeicherte Datenmenge gleichmäßig und hält Zeilen mit häufigem Zugriff nach Möglichkeit auseinander. Dieser fortlaufende Prozess ist automatisch.

Beim Erstellen einer neuen Tabelle können Sie die anfängliche Aufteilung der Tabelle angeben. Bigtable teilt die Tabelle an den von Ihnen angegebenen Zeilenschlüsseln auf. Wenn die Schlüsselräume zu groß sind, teilt Bigtable die Tabelle weiter auf. Die ursprünglichen Teilungen bleiben nach der Tabellenerstellung etwa 24 Stunden lang erhalten. Sie können bis zu 100 Zeilenschlüssel angeben, bei denen die anfänglichen Aufteilungen erfolgen sollen.

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.

Console

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

gcloud

Führen Sie den folgenden Befehl aus, um eine Tabelle nach Zeilenschlüssel aufzuteilen. Eine vollständige Liste der Optionen finden Sie unter gcloud bigtable instances tables create.

gcloud bigtable instances tables create TABLE_ID\
    --instance=INSTANCE_ID \
    --project=PROJECT_ID \
    --column-families=COLUMN-FAMILIES \
    --splits=SPLITS

Dabei gilt:

  • TABLE_ID: Eine eindeutige ID für die neue Tabelle
  • INSTANCE_ID: die ID der Instanz
  • PROJECT_ID: das Projekt, das die neue Tabelle enthalten soll
  • COLUMN-FAMILIES: Eine durch Kommas getrennte Liste von Spaltenfamiliennamen. Sie können später weitere Spaltenfamilien hinzufügen.
  • SPLITS: die Zeilenschlüssel, nach denen die Tabelle zuerst aufgeteilt werden soll, z. B. 10,20.

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. Wenn für die Tabelle kein Löschschutz aktiviert ist, können Sie Spaltenfamilien in der Tabelle löschen.

Spaltenfamilien hinzufügen

Console

  1. Öffnen Sie in der Google 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.
    5. Klicken Sie auf Speichern.

gcloud

Mit der gcloud CLI können Sie einer Tabelle keine Spaltenfamilien hinzufügen.

cbt

Den folgenden Befehl verwenden, um eine Spaltenfamilie hinzuzufügen:

cbt createfamily TABLE_ID 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

Optional: Wenn Sie der Tabelle eine Summe-Spaltenfamilie hinzufügen möchten, hängen Sie den Namen der Spaltenfamilie an den Aggregationstyp an. Mit dem folgenden Code wird eine Tabelle mit einer zusammengefassten Spaltenfamilie mit der Richtlinie für die automatische Speicherbereinigung never erstellt.

cbt createfamily TABLE_ID FAMILY_NAME:never:TYPE

Ersetzen Sie Folgendes:

  • TABLE_ID: die Tabellen-ID
  • FAMILY_NAME: Eine durch Kommas getrennte Liste von Spaltenfamiliennamen. Sie können später weitere Spaltenfamilien hinzufügen.
  • TYPE: den Aggregationstyp. Muss intsum, intmin, intmax oder inthll sein.

Spaltenfamilien löschen

Sie können Spaltenfamilien in einer Tabelle löschen, für die der Löschschutz nicht aktiviert ist.

Console

  1. Öffnen Sie in der Google 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.

gcloud

Mit der gcloud CLI können Sie keine Spaltenfamilien aus einer Tabelle löschen.

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

gcloud

Führen Sie den Befehl gcloud bigtable instances tables list aus, um eine Liste der Tabellen aufzurufen.

gcloud bigtable instances tables list --instances=INSTANCE_IDS

Ersetzen Sie Folgendes:

  • INSTANCE_IDS: eine durch Kommas getrennte Liste von Instanz-IDs.

cbt

Führen Sie den folgenden Befehl aus, um eine Liste der in einer Instanz vorhandenen Tabellen abzurufen:

    cbt ls INSTANCE_ID

Ersetzen Sie Folgendes:

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.

C++

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

namespace cbt = ::google::cloud::bigtable;
namespace cbta = ::google::cloud::bigtable_admin;
using ::google::cloud::StreamRange;
[](cbta::BigtableTableAdminClient admin, std::string const& project_id,
   std::string const& instance_id) {
  std::string instance_name = cbt::InstanceName(project_id, instance_id);

  google::bigtable::admin::v2::ListTablesRequest r;
  r.set_parent(instance_name);
  r.set_view(google::bigtable::admin::v2::Table::NAME_ONLY);

  StreamRange<google::bigtable::admin::v2::Table> tables =
      admin.ListTables(std::move(r));
  for (auto& table : tables) {
    if (!table) throw std::move(table).status();
    std::cout << table->name() << "\n";
  }
}

C#

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Lists tables in intance.
// Initialize request argument(s).
ListTablesRequest request = new ListTablesRequest
{
    ParentAsInstanceName = s_instanceName
};
try
{
    // Make the request.
    PagedEnumerable<ListTablesResponse, Table> response = bigtableTableAdminClient.ListTables(request);

}
catch (Exception ex)
{
    Console.WriteLine($"Error listing tables {ex.Message}");
}

Java

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Lists tables in the current instance.
try {
  List<String> tableIds = adminClient.listTables();
  for (String tableId : tableIds) {
    System.out.println(tableId);
  }
} catch (NotFoundException e) {
  System.err.println("Failed to list tables from a non-existent instance: " + e.getMessage());
}

Node.js

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// List tables in current project
const [tables] = await instance.getTables();
tables.forEach(table => {
  console.log(table.id);
});

PHP

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

use Google\Cloud\Bigtable\Admin\V2\Client\BigtableInstanceAdminClient;
use Google\Cloud\Bigtable\Admin\V2\Client\BigtableTableAdminClient;
use Google\Cloud\Bigtable\Admin\V2\ListTablesRequest;

/**
 * List tables in an instance
 *
 * @param string $projectId The Google Cloud project ID
 * @param string $instanceId The ID of the Bigtable instance
 */
function list_tables(
    string $projectId,
    string $instanceId
): void {
    $instanceAdminClient = new BigtableInstanceAdminClient();
    $tableAdminClient = new BigtableTableAdminClient();

    $instanceName = $instanceAdminClient->instanceName($projectId, $instanceId);

    printf('Listing Tables:' . PHP_EOL);
    $listTablesRequest = (new ListTablesRequest())
        ->setParent($instanceName);
    $tables = $tableAdminClient->listTables($listTablesRequest)->iterateAllElements();
    $tables = iterator_to_array($tables);
    if (empty($tables)) {
        print('No table exists.' . PHP_EOL);
        return;
    }
    foreach ($tables as $table) {
        print($table->getName() . PHP_EOL);
    }
}

Python

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

tables = instance.list_tables()
print("Listing tables in current project...")
if tables != []:
    for tbl in tables:
        print(tbl.table_id)
else:
    print("No table exists in current project...")

Ruby

Informationen zum Installieren und Verwenden der Clientbibliothek für Bigtable finden Sie unter Bigtable-Clientbibliotheken.

Richten Sie zur Authentifizierung bei Bigtable die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

# instance_id = "my-instance"
bigtable.tables(instance_id).all.each do |t|
  puts "Table: #{t.name}"
end

Informationen zu einer Tabelle ansehen

Console

So rufen Sie Informationen zu einer Tabelle auf:

  1. Öffnen Sie in der Google 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 Google 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. Klicken Sie auf Abbrechen, um den Bereich Tabelle bearbeiten zu schließen.

  5. Klicken Sie auf den Namen der Tabelle, um weitere Details zur Tabelle anzuzeigen, einschließlich Messwerte auf Tabellenebene und Replikationsstatus.

gcloud

Wenn Sie Informationen zu einer Tabelle aufrufen möchten, führen Sie den Befehl gcloud bigtable instances tables describe aus.

gcloud bigtable instances tables describe TABLE_ID \
    --instance=INSTANCE_ID

Ersetzen Sie Folgendes:

  • TABLE_ID: Eine eindeutige ID der Tabelle
  • INSTANCE_ID: die ID der Instanz

cbt

Mit der cbt-Befehlszeile 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 automatischen 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 mit der Google Cloud Console, einer anderen Clientbibliothek oder mit der cbt-Befehlszeile erstellen, behält Bigtable in jeder Spalte eine unbegrenzte Anzahl von Zellen 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.

Wenn Sie beim Erstellen einer Tabelle die automatische Sicherung aktiviert haben, können Sie die Konfiguration der automatischen Sicherung für eine Tabelle ändern, um die automatische Sicherung zu aktivieren oder zu deaktivieren, oder die Aufbewahrungsdauer auf bis zu 90 Tage ab dem Zeitpunkt der Sicherungserstellung festlegen. Weitere Informationen finden Sie unter Automatische Sicherung verwenden.

Änderungsstream aktivieren, deaktivieren oder konfigurieren

Eine Anleitung zu den folgenden Aufgaben finden Sie unter Änderungsstream konfigurieren.

  • Änderungsstream für eine vorhandene Tabelle aktivieren
  • Änderungsstream deaktivieren
  • Aufbewahrungsdauer für einen Änderungsstream aktualisieren

Tabelle löschen

Wenn Sie eine Tabelle löschen, werden auch alle autorisierten Ansichten der Tabelle gelöscht. Sie können eine Tabelle nicht löschen, wenn für autorisierte Ansichten der Tabelle der Löschschutz aktiviert ist.

Console

  1. Öffnen Sie in der Google 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. Mit der Eingabe der Tabellen-ID in das Textfeld akzeptieren Sie, dass diese Aktion die Tabelle aus allen Clustern in der Instanz löscht und Sie nur sieben Tage Zeit haben, um die Tabelle wiederherzustellen.

  7. Klicken Sie auf Löschen.

gcloud

  1. Führen Sie den Befehl gcloud bigtable instances tables delete aus, um Tabellen zu löschen.

    gcloud bigtable instances tables delete --instance=INSTANCE_ID
    

    Ersetzen Sie Folgendes:

    • INSTANCE_ID: die ID der Instanz
  2. Geben Sie im Terminal y ein, um das Löschen der Tabelle zu bestätigen.

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]

Tabelle wiederherstellen

Wenn Sie eine Tabelle versehentlich löschen, können Sie die Tabelle mit dem gcloud CLI-Befehl bigtable instances tables undelete wiederherstellen. Versuchen Sie nicht, die gelöschte Tabelle zuerst manuell zu erstellen.

Führen Sie den folgenden Befehl im Terminal aus, um eine Tabelle wiederherzustellen:

gcloud bigtable instances tables undelete TABLE_ID --instance=INSTANCE_ID

Ersetzen Sie Folgendes:

  • TABLE_ID: die eindeutige ID für die Tabelle
  • INSTANCE_ID: die ID der Instanz

Es gelten folgende Einschränkungen:

  • Die Möglichkeit, eine Tabelle wiederherzustellen, ist für einen Zeitraum von etwa sieben Tagen nach dem Löschen der Tabelle verfügbar.
  • Sie können eine Tabelle nicht mit der Google Cloud Console, den Cloud Bigtable-Clientbibliotheken oder der cbt-Befehlszeile wiederherstellen.
  • Sie können eine Tabelle nicht aus einer Instanz wiederherstellen, die gelöscht wurde.
  • Sie können eine Tabelle, die CMEK aktiviert hatte, nicht wiederherstellen.
  • Alle detaillierten IAM-Richtlinienbindungen, die eine Tabelle vor dem Löschen hatte, werden nicht wiederhergestellt, wenn das Löschen rückgängig gemacht wird.

Optional können Sie den Status des Vorgangs undelete in den Audit-Logs prüfen.

Löschschutz ändern

Sie können den Löschschutz für eine Tabelle aktivieren oder deaktivieren, wenn Sie Hauptkonto in einer Rolle sind, die die Berechtigung bigtable.tables.update enthält, z. B. roles/bigtable.admin. Der Löschschutz verhindert das Löschen der Tabelle, aller Spaltenfamilien in der Tabelle und der Instanz, die die Tabelle enthält.

Wenn Sie den Löschschutz für eine Tabelle aktivieren, wird er nicht für autorisierte Ansichten der Tabelle aktiviert. Wenn Sie den Löschschutz einer Tabelle deaktivieren, wird er auch nicht für autorisierte Ansichten der Tabelle deaktiviert. Sie müssen die autorisierten Ansichten der Tabelle separat aktualisieren.

Console

  1. Öffnen Sie in der Google 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 neben der Tabellen-ID auf .

  5. Klicken Sie auf Löschen verhindern, um den Löschschutz zu aktivieren. Klicken Sie auf Löschen aktivieren, um den Löschschutz zu deaktivieren. Nur die gültige Option ist sichtbar.

gcloud

Führen Sie den Befehl gcloud bigtable instances table update aus, um den Löschschutz für eine Tabelle zu aktivieren:

gcloud bigtable instances tables update TABLE_ID \
    --instance=INSTANCE_ID \
    --deletion-protection

Führen Sie den folgenden Befehl aus, um den Löschschutz für eine Tabelle zu deaktivieren:

gcloud bigtable instances tables update TABLE_ID \
    --instance=INSTANCE_ID \
    --no-deletion-protection

Dabei gilt:

+ TABLE_ID: the unique identifier for the table
+ INSTANCE_ID: the ID of the instance

cbt

Sie können den Löschschutz nicht über die cbt-Befehlszeile aktivieren oder deaktivieren.