Logische Ansichten erstellen und verwalten

In Bigtable ist eine logische Ansicht das Ergebnis einer SQL-Abfrage, die als virtuelle Tabelle fungiert, die von anderen SQL-Abfragen abgefragt werden kann. Die Daten verbleiben in der Quelltabelle.

In diesem Dokument werden logische Ansichten beschrieben und es wird erläutert, wie Sie sie erstellen und Vorgänge für sie ausführen. Einen Vergleich mit kontinuierlichen materialisierten Ansichten und autorisierten Ansichten finden Sie unter Tabellen und Ansichten.

Mit logischen Ansichten können Sie mit Ihren Bigtable-Daten Folgendes tun:

  • Wiederholungen von Abfragen vermeiden: Sie können die Logik für die Spaltenzuordnung und das Casting in einer logischen Ansicht speichern und weiterentwickeln. Zusätzliche logische Ansichten können diese Logik dann verwenden, anstatt sie zu kopieren und einzufügen oder sie verstehen zu müssen.
  • Integration in Systeme, die für das Lesen aus relationalen Datenbanken konzipiert sind: Mit logischen Ansichten können Sie Ihre Bigtable-Daten so lesen, als wären sie eine relationale Datenbanktabelle oder eine Cassandra-Tabelle.
  • Dieselbe logische Ansicht für viele Tabellen ausführen: Durch Ändern der FROM-Klausel können Sie mit derselben Ansicht beliebige Tabellen in Ihrer Bigtable-Instanz abfragen.
  • Konsistente Benutzeroberfläche bereitstellen: Ihre Anwendung kann eine logische Ansicht verwenden, auch wenn sich die Quelltabelle ändert.

Eine logische Ansicht ist eine Ressource auf Instanzebene. Sie können eine logische Ansicht mit der Google Cloud CLI oder dem Bigtable Studio-Abfrageeditor in der Google Cloud -Konsole erstellen. Wenn Sie eine logische Ansicht abfragen möchten, können Sie den Bigtable Studio-Abfrageeditor oder eine der Bigtable-Clientbibliotheken verwenden, die SQL unterstützen.

Eine logische Ansicht hat die folgenden Merkmale:

  • Es müssen SQL-Funktionen verwendet werden, die von GoogleSQL für Bigtable unterstützt werden.
  • Schreibgeschützt
  • Muss mit SQL und nicht mit einem Aufruf von ReadRows gelesen werden.
  • Verwendet Definiererberechtigungen. Sie können eine logische Ansicht abfragen, wenn Sie die Berechtigung haben, daraus zu lesen, auch wenn Sie nicht berechtigt sind, aus der Quelltabelle zu lesen.

Der Zeilenschlüssel, der Spaltenqualifizierer und die Spaltenwerte, die Sie zum Definieren einer logischen Ansicht verwenden, werden als Dienstdaten behandelt. Erstellen Sie daher keine logische Ansicht mit Zeilenschlüssel, Spaltenqualifizierer oder Spaltenwerten, die vertrauliche Informationen enthalten. Informationen zum Umgang mit Dienstdaten finden Sie in der Google Cloud Datenschutzerklärung.

Hinweise

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

  1. Install the Google Cloud CLI.

  2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  3. To initialize the gcloud CLI, run the following command:

    gcloud init

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 logischer Ansichten benötigen. Andernfalls bitten Sie auf Instanzebene um die folgenden Berechtigungen, je nachdem, welchen Vorgang Sie ausführen möchten:

  • Erstellen: bigtable.logicalViews.create
  • Aktualisieren: bigtable.logicalViews.update
  • Löschen: bigtable.logicalViews.delete
  • Liste: bigtable.logicalViews.list
  • Beschreiben Sie: bigtable.logicalViews.get

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

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

Logische Ansicht erstellen

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 im Abfrageeditor. 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 Speichern und wählen Sie dann Ansicht speichern aus.

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

gcloud

Verwenden Sie den Befehl gcloud bigtable logical-views create, um eine logische Ansicht zu erstellen.

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

Ersetzen Sie Folgendes:

  • VIEW: Eine ID für die neue logische Ansicht mit bis zu 128 Zeichen. Die ID muss unter den Tabellen-IDs und Ansichts-IDs in der Instanz eindeutig sein.
  • QUERY: eine gültige GoogleSQL-Abfrage für Bigtable
  • INSTANCE: die ID der Instanz, in der die logische Ansicht erstellt werden soll

Optional:

  • Wenn Sie die logische Ansicht vor dem Löschen schützen möchten, hängen Sie das Flag --deletion-protection an den Befehl an. Wenn Sie diese Einstellung nicht anwenden, kann die logische Ansicht gelöscht werden. Sie können das Löschen logischer Ansichten auch explizit zulassen, indem Sie --no-deletion-protection anhängen. Weitere Informationen finden Sie in diesem Dokument im Abschnitt Löschschutz ändern.

Logische Ansicht aktualisieren

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. Im Explorer wird eine Liste der Ansichten 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.

  5. Klicken Sie neben der Ansicht, die Sie aktualisieren möchten, auf das Aktionsmenü more_vert und dann auf Ansichtsdefinition.

  6. Ändern Sie die Abfrage.

  7. Klicken Sie auf Ausführen.

  8. Nachdem Sie geprüft haben, ob im Ergebnisbereich Daten angezeigt werden, die in der Ansicht enthalten sein sollten, klicken Sie auf Speichern unter.

  9. Geben Sie im Dialogfeld die ID der Ansicht ein, die Sie geändert haben.

    Im Dialogfeld wird eine Meldung angezeigt, in der Sie gewarnt werden, dass Sie die vorhandene Ansicht überschreiben.

  10. Klicken Sie auf Speichern.

gcloud

Wenn Sie eine logische Ansicht aktualisieren möchten, damit eine andere Abfrage ausgeführt wird, verwenden Sie den Befehl gcloud bigtable logical-views update.

gcloud bigtable logical-views update VIEW  \
    --instance=INSTANCE --query=QUERY

Ersetzen Sie Folgendes:

  • VIEW: die ID der zu aktualisierenden logischen Ansicht
  • QUERY: eine gültige GoogleSQL-Abfrage.
  • INSTANCE: die ID der Instanz, die die logische Ansicht enthält

Wenn Sie eine logische Ansicht aktualisieren möchten, um den Löschschutz zu ändern, lesen Sie den Abschnitt Löschschutz ändern in diesem Dokument.

Logische Ansicht löschen

Diese Aktion ist dauerhaft.

Wenn für eine logische Ansicht der Löschschutz aktiviert ist, können Sie sie nicht löschen. Wenn Sie eine logische Ansicht mit aktiviertem Löschschutz löschen möchten, müssen Sie die logische Ansicht aktualisieren, um den Löschschutz zu deaktivieren. Weitere Informationen finden Sie in diesem Dokument im Abschnitt Löschschutz ändern.

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. Im Explorer wird eine Liste der Ansichten 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.

  5. Maximieren Sie Aufrufe.

  6. 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 logical-views delete, um eine logische Ansicht zu löschen.

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

Ersetzen Sie Folgendes:

  • VIEW: die ID der zu aktualisierenden logischen Ansicht
  • INSTANCE: die ID der Instanz, die die logische Ansicht enthält

Liste der logischen Ansichten für eine Instanz abrufen

Sie können eine Liste der logischen 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. Im Explorer wird eine Liste der Ansichten 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

Eine Liste der logischen Ansichten für eine Instanz erhalten Sie mit dem Befehl gcloud bigtable logical-views list.

gcloud bigtable logical-views list --instance=INSTANCE

Ersetzen Sie INSTANCE durch die Instanz-ID.

Logische Ansicht beschreiben

Mit dem Befehl gcloud bigtable logical-views describe können Sie Details zu einer logischen Ansicht abrufen.

  gcloud bigtable logical-views describe VIEW \
      --instance=INSTANCE

Im Terminal werden Details ähnlich den folgenden angezeigt:

  createTime: '2025-03-07T19:49:56.316578Z'
  etag: W/"/v1/17919275593532352351"
  name: projects/my-project/instances/my-instance/logicalViews/my-view
  query: SELECT street FROM addresses
  updateTime: '2025-03-07T19:49:56.316578Z'
  deletion_protection: true

Löschschutz ändern

Der Löschschutz verhindert das Löschen der logischen Ansicht. Zum Aktivieren oder Deaktivieren des Löschschutzes für eine logische Ansicht benötigen Sie die erforderlichen Berechtigungen. Weitere Informationen finden Sie im Abschnitt Erforderliche Rollen in diesem Dokument.

gcloud

Führen Sie den Befehl gcloud bigtable logical-views update aus, um den Löschschutz für eine logische Ansicht zu aktivieren:

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

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

gcloud bigtable logical-views update VIEW \
    --instance=INSTANCE \
    --no-deletion-protection

Ersetzen Sie Folgendes:

  • VIEW: Eine ID für die logische Ansicht mit bis zu 128 Zeichen. Die ID muss unter den Tabellen- und Ansichts-IDs in der Instanz eindeutig sein.
  • INSTANCE: Die ID der Instanz, in der die logische Ansicht aktualisiert werden soll.

Nächste Schritte