Übersicht über logische und materialisierte Ansichten

BigQuery unterstützt zwei Arten von Ansichten: logische (Standard-)Ansichten und materialisierte Ansichten. Sie haben eine gemeinsame Abfrageschnittstelle, unterscheiden sich jedoch in ihrer zugrunde liegenden Mechanik, Leistung und Kosten. In diesem Dokument werden die Merkmale, Vorteile und Einschränkungen der einzelnen Typen verglichen, damit Sie die richtige Ansicht für Ihre Arbeitslast auswählen können.

Logische Ansichten

Eine logische (Standard-)Ansicht ist eine virtuelle Tabelle, die durch eine SQL-Abfrage definiert wird. Es werden keine physischen Daten gespeichert. Stattdessen wird die Abfragelogik gespeichert, die zum Abrufen von Daten aus den zugrunde liegenden Basistabellen erforderlich ist. Wenn Sie eine logische Ansicht abfragen, erweitert die BigQuery-Abfrage-Engine die Ansicht in die zugrunde liegende Abfrage. Das bedeutet, dass BigQuery die Ansicht bei jedem Aufruf neu ausführt.

Logische Ansichten bieten unter anderem folgende Vorteile:

  • Kein Speicher-Overhead. Da keine zusätzlichen Daten gespeichert werden, zahlen Sie nur für die Speicherung der Basistabellen.
  • Genauigkeit in Echtzeit Da die Abfrage zur Ausführungszeit ausgeführt wird, spiegeln die Ergebnisse immer den aktuellen Status der Basistabellen wider.
  • Logische Abstraktion. Vereinfacht komplexe Joins oder wendet Sicherheit auf Zeilenebene an, ohne Daten zu duplizieren.
  • SQL-Flexibilität: Unterstützt die gesamte Bandbreite von BigQuery-SQL, einschließlich komplexer Fensterfunktionen, benutzerdefinierter Funktionen (UDFs) und aller Join-Typen.

Materialisierte Ansichten

Materialisierte Ansichten sind vorausberechnete Ansichten, in denen die Ergebnisse einer SQL-Abfrage regelmäßig gespeichert werden. Im Gegensatz zu logischen Ansichten werden die berechneten Daten physisch gespeichert. So kann BigQuery Ergebnisse schneller liefern, ohne die Rohdaten wiederholt verarbeiten zu müssen. Dadurch kann die Abfragelatenz für große Datasets durch Vorverarbeitung von Abfragen reduziert werden. Außerdem können die Rechenkosten für häufig verwendete Abfragen gesenkt werden.

Materialisierte BigQuery-Ansichten kombinieren die Geschwindigkeit vorberechneter Daten mit der Genauigkeit einer Live-Ansicht. Das erreichen sie durch Folgendes:

  • Automatische Aktualisierung: Ein Hintergrundprozess aktualisiert die materialisierten Ansichten, wenn sich die Basistabellen ändern.
  • Datenaktualität: Wenn eine Abfrage erfolgt, während eine Hintergrundaktualisierung aussteht, gleicht BigQuery die nicht verarbeiteten Änderungen an der Basistabelle automatisch aus, um aktuelle Ergebnisse bereitzustellen.
  • Intelligente Feinabstimmung Der Abfrageoptimierer kann Abfragen von Basistabellen automatisch an die materialisierte Ansicht weiterleiten, wenn er feststellt, dass die materialisierte Ansicht die Antwort effizienter liefern kann.

Vergleich von logischen und materialisierten Ansichten

Logische Ansichten sind zwar der Standardtyp, aber wenn Sie häufig eine große oder rechenintensive Ansicht abfragen, sollten Sie eine materialisierte Ansicht erstellen. Logische Ansichten sind virtuell und bieten einen wiederverwendbaren Verweis auf einen Satz von Daten, speichern Daten jedoch nicht physisch. Materialisierte Ansichten werden wie eine logische Ansicht mit SQL definiert, aber die Daten, die BigQuery zur Verbesserung der Leistung verwendet, werden physisch gespeichert.

In der folgenden Tabelle sind die Ähnlichkeiten und Unterschiede zwischen logischen und materialisierten Ansichten in BigQuery zusammengefasst:

Dimension Logische Ansicht Materialisierte Ansicht
Datenpersistenz Keine (virtuell) Physisch (auf Laufwerk gespeichert)
Ausführung Jedes Mal, wenn die Ansicht aufgerufen wird Vorberechnet; Hintergrundaktualisierung
Veraltete Daten Nie Optional 1 (über Aktualisierung)
Leistung Variable (abhängig von der Basistabelle) Konsistent und schnell
SQL-Komplexität Unbegrenzt Begrenzt
Optimiert für Sicherheit und Abstraktion Geschwindigkeit und Kostenreduzierung
Wartungs- und Speicherkosten Nein Ja

1 Die Option --max_staleness verbessert die Abfrageleistung bei kontrollierten Kosten, wenn große, sich häufig ändernde Datasets verarbeitet werden.

Wann logische Ansichten verwendet werden sollten

  • Semantische Ebenen: Benennen Sie komplexe Spaltennamen in geschäftsfreundliche Begriffe für nicht technische Nutzer um.
  • Schnelle Entwicklung: Verwenden Sie diese Option, wenn sich die Logik im Fluss befindet und Sie den Aufwand für die Verwaltung des physischen Speichers vermeiden möchten.
  • Konsolidierte Datenquellen: Datenquelle für Visualisierungstools wie Data Studio oder BigQuery-Freigabe (früher Analytics Hub) bereitstellen.

Wann materialisierte Ansichten verwendet werden sollten

  • Daten vorverarbeiten. Verbessern Sie die Abfrageleistung, indem Sie Aggregate, Filter, Joins und Cluster vorbereiten.
  • Dashboard-Beschleunigung. BI-Tools wie Looker, die häufig dieselben aggregierten Messwerte abfragen, z. B. aktive Nutzer pro Tag.
  • Echtzeitanalysen für große Streams: Kann schnellere Antworten für Tabellen liefern, die Streamingdaten mit hoher Geschwindigkeit empfangen.
  • Kostenverwaltung: Kosten für wiederholte, teure Abfragen großer Datasets reduzieren.

Autorisierte Ansichten

Sie können auch eine autorisierte Ansicht erstellen, um eine Teilmenge der Daten aus einem Quell-Dataset für eine Ansicht in einem sekundären Dataset freizugeben. Diese Ansicht können Sie 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 für eine logische oder materialisierte Ansicht erstellen. Eine autorisierte Ansicht für eine materialisierte Ansicht wird als autorisierte materialisierte Ansicht bezeichnet.

Best Practices

Für eine gut strukturierte BigQuery-Umgebung sind logische Ansichten ein nützliches Tool, um die benötigten Daten zu konsolidieren. Verwenden Sie materialisierte Ansichten als Tool zur Leistungsoptimierung für bestimmte Abfragemuster mit hohem Traffic, die eine starke Aggregation beinhalten.

Informationen zum Überwachen der Nutzung und Leistung materialisierter Ansichten finden Sie unter Ansicht MATERIALIZED_VIEWS.

Nächste Schritte