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:
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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
Öffnen Sie in der Google Cloud Console die Liste der Bigtable-Instanzen.
Wählen Sie eine Instanz aus.
Klicken Sie im Navigationsbereich auf Bigtable Studio.
Öffnen Sie einen neuen Tab, indem Sie auf
klicken und dann Editor auswählen.Schreiben Sie Ihre Abfrage im Abfrageeditor. Wenn die Abfrage gültiges SQL ist, wird die Meldung Gültig angezeigt.
Optional: Wenn Sie die Anweisung im SQL-Stil formatieren möchten, klicken Sie auf Formatieren.
Klicken Sie auf Ausführen. Die Ergebnisse Ihrer Abfrage werden in der Tabelle Ergebnisse angezeigt.
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 BigtableINSTANCE
: 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
Öffnen Sie in der Google Cloud Console die Liste der Bigtable-Instanzen.
Wählen Sie eine Instanz aus der Liste aus.
Klicken Sie im Navigationsbereich auf Bigtable Studio. Im Explorer wird eine Liste der Ansichten angezeigt.
Optional: Die ersten 10 Ansichten in der Instanz werden aufgeführt. Wenn Sie 10 weitere sehen möchten, klicken Sie auf Mehr anzeigen.
Klicken Sie neben der Ansicht, die Sie aktualisieren möchten, auf das Aktionsmenü more_vert und dann auf Ansichtsdefinition.
Ändern Sie die Abfrage.
Klicken Sie auf Ausführen.
Nachdem Sie geprüft haben, ob im Ergebnisbereich Daten angezeigt werden, die in der Ansicht enthalten sein sollten, klicken Sie auf Speichern unter.
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.
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 AnsichtQUERY
: 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
Öffnen Sie in der Google Cloud Console die Liste der Bigtable-Instanzen.
Wählen Sie eine Instanz aus der Liste aus.
Klicken Sie im Navigationsbereich auf Bigtable Studio. Im Explorer wird eine Liste der Ansichten angezeigt.
Optional: Die ersten 10 Ansichten in der Instanz werden aufgeführt. Wenn Sie 10 weitere sehen möchten, klicken Sie auf Mehr anzeigen.
Maximieren Sie Aufrufe.
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 AnsichtINSTANCE
: 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
Öffnen Sie in der Google Cloud Console die Liste der Bigtable-Instanzen.
Wählen Sie eine Instanz aus der Liste aus.
Klicken Sie im Navigationsbereich auf Bigtable Studio. Im Explorer wird eine Liste der Ansichten angezeigt.
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
- GoogleSQL für Bigtable – Übersicht
- Kontinuierliche materialisierte Ansichten
- Übersicht über autorisierte Ansichten