Einführung in logische Ansichten

Eine logische Ansicht ist eine virtuelle Tabelle, die durch eine SQL-Abfrage definiert wird. Sie ist der Standardansichtstyp in BigQuery. Mit logischen Ansichten können Sie komplexe Abfragen wiederverwenden und die Berechnungs- und Join-Logik vereinfachen. Mit autorisierten Ansichten können Sie Nutzern auch Zugriff auf eine Teilmenge von Daten gewähren, ohne Zugriff auf die Basistabellen zu gewähren.

Da die Abfrage, die eine logische Ansicht definiert, bei jeder Abfrage der Ansicht ausgeführt wird, enthalten die Ergebnisse nur die aktuellen Daten aus den Tabellen und Feldern, die in der Abfrage angegeben sind. In diesem Dokument werden gängige Anwendungsfälle sowie die Einschränkungen, Kontingente, Preise und die Sicherheit logischer Ansichten beschrieben.

Anwendungsfälle

Zu den häufigsten Anwendungsfällen für Ansichten gehören:

  • Einen wiederverwendbaren Namen für eine komplexe Abfrage oder eine begrenzte Datenmenge bereitstellen, 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 mehrere Anwendungsfälle optimieren.

Sie können Ansichten auch in anderen Kontexten verwenden:

Einen Vergleich von logischen, materialisierten und autorisierten Ansichten finden Sie unter Übersicht über logische und materialisierte Ansichten.

Einschränkungen für logische 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.
  • Wenn Ihre Ansicht auf Tabellen von Remote-Standorten verweist, müssen Sie globale Abfragen aktivieren, bevor Sie die Ansicht erstellen.
  • 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:
  • 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.
  • Logische Ansichten können keine parametrisierten Datentypen wie STRING(n) übernehmen oder explizit definieren, da parametrisierte Datentypen nur für Basistabellenspalten und Skriptvariablen unterstützt werden.

Kontingente für logische Ansichten

Informationen zu Kontingenten und Limits für Ansichten finden Sie unter Ansichtslimits. SQL-Abfragen, die zum Definieren von Ansichten verwendet werden, unterliegen ebenfalls den Kontingenten für Abfragejobs.

Preise für logische Ansichten

BigQuery verwendet standardmäßig logische Ansichten, keine materialisierten Ansichten. Da Ansichten standardmäßig nicht materialisiert werden, wird die Abfrage, die die Ansicht definiert, bei jeder Abfrage ausgeführt. Abfragen werden nach der Gesamtmenge der Daten in allen Tabellenfeldern abgerechnet, auf die direkt oder indirekt von der Abfrage auf oberster Ebene verwiesen wird.

Sicherheit logischer Ansichten

Informationen zum Steuern des Zugriffs auf Ansichten in BigQuery finden Sie unter Autorisierte Ansichten.

Nächste Schritte