Kontinuierliche materialisierte Ansichten erstellen und verwalten

In diesem Dokument wird beschrieben, wie Sie eine kontinuierliche materialisierte Ansicht in Bigtable erstellen und Vorgänge für sie 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 -Konsole oder den Bigtable-Clientbibliotheken für Java und Go erstellen.

Hinweis

Wenn Sie die gcloud CLI verwenden möchten, führen Sie die folgenden Schritte aus:

  1. Installieren Sie die Google Cloud CLI.

  2. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst 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

Wenn die gcloud CLI die Meldung Method not found zurückgibt, führen Sie den Befehl gcloud auth login noch einmal aus.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die Rolle „Bigtable-Administrator“ (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. Andernfalls fordern Sie die folgenden Berechtigungen auf Instanzebene an, je nachdem, welchen Vorgang Sie ausführen möchten:

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

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

Alle verfügbaren Rollen und Berechtigungen finden Sie unter Bigtable-Zugriffssteuerung mit IAM.

Kontinuierliche materialisierte Ansicht erstellen

Führen Sie vor dem Erstellen einer kontinuierlichen materialisierten Ansicht die folgenden Schritte aus:

  • Optional: Als Best Practice sollten Sie Autoscaling für Cluster in Ihrer Instanz aktivieren, damit sie bei Bedarf skaliert werden können, während Bigtable die kontinuierliche materialisierte Ansicht verarbeitet und synchronisiert, und um zusätzliche Speichernutzung zu verwalten.
  • Optional: Entscheiden Sie, ob die kontinuierliche materialisierte Ansicht in allen Clustern verfügbar sein soll oder ob Sie die Verarbeitung und die Verfügbarkeit von Abfragen auf einen einzelnen Cluster beschränken möchten. Weitere Informationen finden Sie unter Nicht deterministische SQL-Funktionen.
  • Wählen Sie eine Bigtable-Tabelle aus, für die Sie Leseberechtigung haben, um sie als Quelle für die kontinuierliche materialisierte Ansicht zu verwenden.
  • Bereiten Sie die SQL-Abfrage vor, die Ihre kontinuierlich aktualisierte materialisierte Ansicht definiert. Informationen zu den Anforderungen an Abfragen finden Sie unter Abfragen von kontinuierlich aktualisierten materialisierten Ansichten.

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  klicken 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: Wenn Sie die Anweisung im SQL-Stil formatieren möchten, klicken Sie auf Formatieren.

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

    4. Wenn Sie mit der Abfrage zufrieden sind, klicken Sie auf den Expanderpfeil 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 auf Speichern.

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

gcloud

Verwenden Sie den Befehl gcloud bigtable materialized-views create, 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 kontinuierlich aktualisierte materialisierte Ansicht definiert.

Optional: Löschschutz aktivieren

Wenn Sie den Löschschutz für die kontinuierliche materialisierte Ansicht aktivieren möchten, hängen Sie --deletion-protection=DELETION_PROTECTION an den Befehl an. Ersetzen Sie DELETION_PROTECTION durch true oder false.

Optional: Ansicht für einen einzelnen Cluster erstellen

Standardmäßig repliziert Bigtable eine kontinuierliche materialisierte Ansicht in allen Clustern einer Instanz. Wenn Sie eine Ansicht nur in einem bestimmten Cluster behalten möchten, definieren Sie sie mit CLUSTER_ATTRIBUTE und übergeben Sie das Flag --ignore-warnings:

gcloud bigtable materialized-views create VIEW \
  --instance=INSTANCE \
  --query="SELECT ... WHERE CLUSTER_ATTRIBUTE('cluster_id') = 'CLUSTER_ID'" \
  --ignore-warnings

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.
  • CLUSTER_ID: Die Kennung des Clusters, in dem Sie die Ansicht verwalten möchten.

Da CLUSTER_ATTRIBUTE in den verschiedenen Clustern unterschiedliche Ergebnisse liefert, müssen Sie das Flag --ignore-warnings einfügen, um die Unterschiede zu berücksichtigen. Weitere Informationen zur Abfragesyntax und zu den Anforderungen finden Sie unter Ansicht auf einen einzelnen Cluster beschränken.

Kontinuierliche materialisierte Ansicht abfragen

Nachdem eine kontinuierliche materialisierte Ansicht aktiv ist, können Sie sie wie jede andere Tabelle mit Bigtable Studio in der Google Cloud Console oder mit unterstützten Clientbibliotheken abfragen. Weitere Informationen zur Abfragesyntax und zu den Anforderungen finden Sie unter Abfragen für kontinuierliche materialisierte Ansichten.

Wenn Sie eine Ansicht testen und abfragen möchten, bevor die erste Population abgeschlossen ist, verwenden Sie den Hinweis @{allow_incomplete_view=true}. Weitere Informationen finden Sie unter Daten während der ersten Befüllung lesen.

Kontinuierliche materialisierte Ansicht aktualisieren

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

Console

Kontinuierliche materialisierte Ansichten können nicht in der Console aktualisiert werden. Verwenden Sie stattdessen die gcloud CLI.

gcloud

Verwenden Sie den Befehl gcloud bigtable materialized-views update, 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 kein Löschschutz aktiviert ist. Sie können diesen Vorgang nicht rückgängig machen.

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 Aktionsmenü more_vert und dann auf Löschen.

gcloud

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

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

Ersetzen Sie Folgendes:

  • VIEW: die eindeutige Kennung der kontinuierlichen materialisierten 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 aufgeführt. Wenn Sie 10 weitere sehen möchten, klicken Sie auf Mehr anzeigen.

gcloud

Verwenden Sie den Befehl gcloud bigtable materialized-views list, 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