Einführung in logische Ansichten
Dieses Dokument bietet eine Übersicht über die BigQuery-Unterstützung für logische Ansichten.
Übersicht
Eine Ansicht ist eine virtuelle Tabelle, die durch eine SQL-Abfrage definiert wird. Der Standardtyp für BigQuery-Ansichten ist eine logische Ansicht. Abfrageergebnisse enthalten nur die Daten aus den Tabellen und Feldern, die in der Abfrage angegeben sind, in der die Ansicht definiert wird.
Die Abfrage, die eine Ansicht definiert, wird bei jeder Abfrage ausgeführt.
Arten von Datenansichten
Logische Ansichten sind der Standardtyp von Ansichten. Wenn Sie jedoch häufig eine große oder rechenintensive Ansicht abfragen, sollten Sie eine materialisierte Ansicht erstellen. Das ist eine vorab berechnete Ansicht, die die Ergebnisse einer Abfrage regelmäßig im Cache speichert, um die Leistung und Effizienz zu steigern.
Sie können die Leistung einer logischen Ansicht jedoch oft verbessern, ohne eine materialisierte Ansicht erstellen zu müssen. Dazu müssen Sie nur eine Teilmenge Ihrer Daten abfragen oder andere Verfahren verwenden.
Sie können auch eine autorisierte Ansicht erstellen, um eine Teilmenge von Daten aus einem Quell-Dataset für eine Ansicht in einem sekundären Dataset freizugeben. Sie können diese Ansicht dann für bestimmte Nutzer und Gruppen (Hauptkonten) freigeben, die die freigegebenen Daten aufrufen und Abfragen darauf ausführen können, aber nicht direkt auf das Quell-Dataset zugreifen können.
Sie können eine autorisierte Ansicht entweder für eine logische oder eine materialisierte Ansicht erstellen. Eine autorisierte Ansicht für eine materialisierte Ansicht wird als autorisierte materialisierte Ansicht bezeichnet.
Anwendungsfälle
Gängige Anwendungsfälle für Ansichten:
- Sie können einen einfach wiederverwendbaren Namen für eine komplexe Abfrage oder eine begrenzte Datenmenge angeben, für die Sie dann andere Nutzer autorisieren können. Nachdem Sie eine Ansicht erstellt haben, kann ein Nutzer die Ansicht wie eine Tabelle abfragen.
- Abstrakte und Speicherberechnung und Join-Logik in einem gemeinsamen Objekt, um die Abfragenutzung zu vereinfachen.
- Zugriff auf eine Teilmenge von Daten und Berechnungslogik ohne Zugriff auf die Basistabellen gewähren
- Abfragen mit hohen Rechenkosten und kleinen Datasets für verschiedene Anwendungsfälle optimieren
Sie können Ansichten auch in anderen Kontexten verwenden:
- Als Datenquelle für ein Visualisierungstool wie Looker Studio
- Sie können damit Daten für Abonnenten von BigQuery Sharing (früher Analytics Hub) freigeben.
Vergleich mit materialisierten Ansichten
Logische Ansichten sind virtuell und stellen einen wiederverwendbaren Verweis auf einen Datensatz dar, speichern jedoch keine Daten. Materialisierte Ansichten werden wie eine logische Ansicht wie SQL definiert, aber die Daten, die BigQuery zur Verbesserung der Leistung verwendet, werden physisch gespeichert. Weitere Informationen finden Sie unter Features von materialisierten Ansichten.
Einschränkungen bei logischen Ansichten
BigQuery-Ansichten unterliegen den folgenden Beschränkungen:
- Ansichten sind schreibgeschützt. Sie können beispielsweise keine Abfragen ausführen, die Daten einfügen, aktualisieren oder löschen.
- Das Dataset, in dem die Ansicht enthalten ist, und das Dataset mit den Tabellen, auf die in der Ansicht verwiesen wird, müssen sich am selben Standort befinden.
- Ein Verweis innerhalb einer Ansicht muss mit einem Dataset qualifiziert sein. Das Standard-Dataset hat keinen Einfluss auf einen Ansichtstext.
- Die JSON API-Methode
TableDataList
kann nicht zum Abrufen von Daten aus einer Ansicht verwendet werden. Weitere Informationen finden Sie unter Tabledata: list. - Bei Verwendung von Ansichten können GoogleSQL- und Legacy-SQL-Abfragen nicht kombiniert werden. Eine GoogleSQL-Abfrage kann nicht auf eine Ansicht verweisen, die mit der Legacy-SQL-Syntax definiert ist.
- Sie können in Ansichten keine Abfrageparameter referenzieren.
- Die Schemas der zugrunde liegenden Tabellen werden beim Erstellen der Ansicht mit dieser gespeichert. Wenn Spalten nach dem Erstellen der Ansicht hinzugefügt, gelöscht oder geändert werden, wird die Ansicht nicht automatisch aktualisiert. Das gemeldete Schema bleibt so lange ungenau, bis die SQL-Definition der Ansicht geändert oder die Ansicht neu erstellt wird. Auch wenn das gemeldete Schema ungenau sein könnte, geben die übermittelten Abfragen doch genaue Ergebnisse zurück.
- Sie können eine Legacy-SQL-Ansicht nicht automatisch auf die GoogleSQL-Syntax aktualisieren. Zum Ändern der Abfrage zum Definieren einer Ansicht verwenden Sie Folgendes:
- Die Option Abfrage bearbeiten in der Google Cloud Console
- Der Befehl
bq update --view
im bq-Befehlszeilentool - Die BigQuery-Clientbibliotheken
- Die API-Methoden update oder patch.
- Es ist nicht möglich, eine temporäre benutzerdefinierte Funktion oder eine temporäre Tabelle in die SQL-Abfrage aufzunehmen, die eine Ansicht definiert.
- In der Abfrage einer Platzhaltertabelle kann keine Ansicht referenziert werden.
Kontingente für logische Ansichten
Informationen zu Kontingenten und Limits für Ansichten finden Sie unter Limits von Ansichten.
Für SQL-Abfragen, die zur Definition von Ansichten verwendet werden, gelten die Kontingente für Abfragejobs.
Preise für logische Ansichten
In BigQuery werden standardmäßig logische und keine materialisierten Ansichten verwendet. Da Ansichten standardmäßig nicht materialisiert sind, wird die Abfrage, die die Ansicht definiert, jedes Mal ausgeführt, wenn die Ansicht abgefragt wird. Die Abfragen werden anhand der Datenmenge in allen Tabellenfeldern abgerechnet, die von der übergeordneten Abfrage direkt oder indirekt referenziert werden.
- Allgemeine Informationen zu Abfragepreisen finden Sie unter On-Demand-Rechenpreise.
- Informationen zu den Preisen für materialisierte Ansichten finden Sie unter Preise für materialisierte Ansichten.
Sicherheit logischer Ansichten
Informationen zum Steuern des Zugriffs auf Ansichten in BigQuery finden Sie unter Autorisierte Ansichten.
Nächste Schritte
- Ansichten erstellen
- Autorisierte Ansichten erstellen
- Metadaten zu Ansichten abrufen
- Ansichten verwalten