Kontinuierliche materialisierte Ansichten erstellen und verwalten

In diesem Dokument wird beschrieben, wie Sie eine kontinuierliche materialisierte Ansicht in Bigtable erstellen und Vorgänge damit ausführen. Bevor Sie dieses Dokument lesen, sollten Sie sich die Übersicht unter Kontinuierliche materialisierte Ansichten ansehen.

Sie können eine kontinuierliche materialisierte Ansicht mit der Google Cloud CLI, dem Bigtable Studio-Abfrageeditor in der Google Cloud Console oder den Bigtable-Clientbibliotheken für Java und Go erstellen.

Hinweis

Führen Sie die folgenden Schritte aus, wenn Sie die gcloud CLI verwenden möchten.

  1. Installieren Sie die Google Cloud CLI.

  2. Konfigurieren Sie die gcloud CLI für die Verwendung Ihrer föderierten Identität.

    Weitere Informationen finden Sie unter Mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  3. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die Rolle „Bigtable Admin“ (roles/bigtable.admin) für die Instanz zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von kontinuierlichen materialisierten Ansichten benötigen. Alternativ können Sie je nach auszuführendem Vorgang die folgenden Berechtigungen auf Instanzebene anfordern:

  • Erstellen: bigtable.materializedViews.create
  • Aktualisieren: bigtable.materializedViews.update
  • Löschen: bigtable.materializedViews.delete
  • Auflisten: bigtable.materializedViews.list

Zum Erstellen einer kontinuierlichen materialisierten Ansicht benötigen Sie außerdem mindestens die Berechtigung bigtable.tables.readRows für die Quelltabelle.

Eine Liste aller verfügbaren Rollen und Berechtigungen finden Sie unter Bigtable-Zugriffssteuerung mit IAM.

Kontinuierliche materialisierte Ansicht erstellen

Bevor Sie eine kontinuierliche materialisierte Ansicht erstellen, führen Sie die folgenden Schritte aus:

  • Optional: Aktivieren Sie als Best Practice das Autoscaling für Cluster in Ihrer Instanz, damit sie bei Bedarf skaliert werden können, während Bigtable die kontinuierliche materialisierte Ansicht verarbeitet und synchronisiert, und um die zusätzliche Speichernutzung zu bewältigen.
  • Wählen Sie eine Bigtable-Tabelle aus, für die Sie Leseberechtigungen haben, und verwenden Sie sie als Quelle für die kontinuierliche materialisierte Ansicht.
  • Bereiten Sie die SQL-Abfrage vor, die Ihre kontinuierliche materialisierte Ansicht definiert. Informationen zu den Abfrageanforderungen finden Sie unter Abfragen für kontinuierliche materialisierte Ansichten queries.

Nachdem Sie eine kontinuierliche materialisierte Ansicht erstellt haben, führt Bigtable die erste Auffüllungdurch. Die Ansicht wird erst aktiv und abfragbar, wenn dieser Vorgang abgeschlossen ist. Sie können sich Messwerte für die Ansicht ansehen, um den Fortschritt zu verfolgen. Informationen zum Abfragen der Ansicht vor Abschluss der ersten Auffüllung finden Sie unter Daten während der ersten Auffüllung lesen.

Console

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

    Liste der Instanzen öffnen

  2. Wählen Sie eine Instanz aus.

  3. Klicken Sie im Navigationsbereich auf Bigtable Studio.

  4. Öffnen Sie einen neuen Tab, indem Sie auf und dann Editor auswählen.

    1. Schreiben Sie Ihre Abfrage, sobald der Abfrageeditor angezeigt wird. Wenn die Abfrage gültiges SQL ist, wird die Meldung Gültig angezeigt.

    2. Optional: Klicken Sie auf Formatieren, um die Anweisung im SQL-Stil zu formatieren.

    3. Klicken Sie auf Ausführen. Die Ergebnisse der Abfrage werden in der Tabelle Ergebnisse angezeigt.

    4. Wenn Sie mit der Abfrage zufrieden sind, klicken Sie auf den Pfeil zum Erweitern Speichern unter und wählen Sie Als materialisierte Ansicht speichern aus.

  5. Geben Sie im Dialogfeld Materialisierte Ansicht speichern einen Namen für die Ansicht ein und klicken Sie dann auf Speichern.

    Weitere Informationen zur Verwendung des Abfrageeditors finden Sie unter Daten mit Bigtable Studio verwalten.

gcloud

Verwenden Sie den gcloud bigtable materialized-views create Befehl, um eine kontinuierliche materialisierte Ansicht zu erstellen:

    gcloud bigtable materialized-views create VIEW \
            --instance=INSTANCE --query=QUERY

Ersetzen Sie Folgendes:

  • VIEW: eine eindeutige Kennung für die kontinuierliche materialisierte Ansicht. Sie verwenden diese ID als Tabellen-ID, wenn Sie die kontinuierliche materialisierte Ansicht abfragen.
  • INSTANCE: die Kennung der Instanz, in der die kontinuierliche materialisierte Ansicht erstellt werden soll. Muss dieselbe Instanz wie die Quelltabelle sein.
  • QUERY: eine gültige SQL-Anweisung, die die kontinuierliche materialisierte Ansicht definiert.

Der Befehl akzeptiert die folgenden optionalen Flags:

  • Wenn Sie den Löschschutz für die kontinuierliche materialisierte Ansicht aktivieren möchten, fügen Sie dem Befehl --deletion-protection=DELETION_PROTECTION an. Ersetzen Sie DELETION_PROTECTION durch true oder false.
  • Wenn Ihre SQL-Abfrage nicht deterministische Funktionen verwendet, fügen Sie dem Befehl das --ignore-warnings Flag an. Mit diesem Flag bestätigen Sie dass diese Funktionen dazu führen können, dass verschiedene Cluster unterschiedliche Ergebnisse für dieselbe Ansicht liefern. Wenn Sie das Flag weglassen, schlägt die Abfragevalidierung fehl.

Kontinuierliche materialisierte Ansicht aktualisieren

Sie können den Löschschutz für eine kontinuierliche materialisierte Ansicht aktualisieren. Die SQL-Abfrage, die eine kontinuierliche materialisierte Ansicht definiert, kann nicht aktualisiert werden. Wenn Sie die Abfrage ändern müssen, müssen Sie die kontinuierliche materialisierte Ansicht löschen und dann eine neue erstellen, die Ihre Änderungen enthält.

Console

In der Console können Sie eine kontinuierliche materialisierte Ansicht nicht aktualisieren. Verwenden Sie stattdessen die gcloud CLI.

gcloud

Verwenden Sie den gcloud bigtable materialized-views update Befehl, um den Löschschutz für eine kontinuierliche materialisierte Ansicht zu aktivieren oder zu deaktivieren.

gcloud bigtable materialized-views update VIEW \
        --instance=INSTANCE --deletion-protection=DELETION_PROTECTION

Ersetzen Sie Folgendes:

  • VIEW: die eindeutige Kennung für die kontinuierliche materialisierte Ansicht, die Sie aktualisieren möchten
  • INSTANCE: die Kennung der Instanz , die die kontinuierliche materialisierte Ansicht enthält
  • DELETION_PROTECTION: entweder true oder false

Kontinuierliche materialisierte Ansicht löschen

Sie können eine kontinuierliche materialisierte Ansicht löschen, für die der Löschschutz nicht aktiviert ist. Dieser Vorgang kann nicht rückgängig gemacht werden.

Console

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

    Liste der Instanzen öffnen

  2. Wählen Sie eine Instanz aus der Liste aus.

  3. Klicken Sie im Navigationsbereich auf Bigtable Studio.

  4. Maximieren Sie Materialisierte Ansichten.

  5. Klicken Sie neben der Ansicht, die Sie löschen möchten, auf das more_vert, und dann auf Löschen.

gcloud

Verwenden Sie den gcloud bigtable materialized-views delete Befehl, um eine kontinuierliche materialisierte Ansicht zu löschen:

gcloud bigtable materialized-views delete VIEW \
      --instance=INSTANCE

Ersetzen Sie Folgendes:

  • VIEW: die eindeutige Kennung für die kontinuierliche materialisierte Ansicht, die Sie löschen möchten
  • INSTANCE: die Kennung der Instanz, die die kontinuierliche materialisierte Ansicht enthält

Liste der kontinuierlichen materialisierten Ansichten abrufen

Sie können eine Liste der kontinuierlichen materialisierten Ansichten für eine Instanz aufrufen.

Console

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

    Liste der Instanzen öffnen

  2. Wählen Sie eine Instanz aus der Liste aus.

  3. Klicken Sie im Navigationsbereich auf Bigtable Studio. Eine Liste der kontinuierlichen materialisierten Ansichten wird angezeigt.

  4. Optional: Die ersten 10 Ansichten in der Instanz werden aufgelistet. Klicken Sie auf Mehr anzeigen , um 10 weitere Ansichten aufzurufen.

gcloud

Verwenden Sie den gcloud bigtable materialized-views list Befehl, um alle kontinuierlichen materialisierten Ansichten für eine Instanz aufzulisten.

gcloud bigtable materialized-views list --instance=INSTANCE

Ersetzen Sie INSTANCE durch die Instanz-ID.

Nächste Schritte