Übersicht über logische und materialisierte Ansichten

In diesem Dokument werden logische und materialisierte Ansichten in BigQuery beschrieben und verglichen. Im modernen Data Warehousing dienen Ansichten als wichtige Abstraktionsebene zwischen Rohdaten und Business Intelligence. In BigQuery haben Architekten in der Regel die Wahl zwischen zwei Typen: logischen (Standard-)Ansichten und materialisierten Ansichten. Diese Ansichten haben zwar eine gemeinsame Benutzeroberfläche, die zugrunde liegenden Mechanismen, Leistungsprofile und Kosten sind jedoch unterschiedlich.

Logische Ansichten

Eine logische (Standard-)Ansicht ist eine virtuelle Tabelle, die durch eine SQL-Abfrage definiert wird. Darin werden keine physischen Daten gespeichert, sondern die Abfragelogik, die zum Abrufen von Daten aus den zugrunde liegenden Basistabellen erforderlich ist.

Wenn Sie eine logische Ansicht abfragen, wird sie von der BigQuery-Abfrage-Engine in die zugrunde liegende Abfrage erweitert. Das bedeutet, dass BigQuery die Ansicht bei jedem Aufruf neu ausführt.

Logische Ansichten bieten unter anderem folgende Vorteile:

  • Kein Speicheraufwand: Da keine zusätzlichen Daten gespeichert werden, zahlen Sie nur für die Speicherung der Basistabellen.
  • Echtzeitgenauigkeit: 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 das gesamte 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 bereitstellen, ohne die Rohdaten wiederholt verarbeiten zu müssen. Dadurch kann die Abfragelatenz für große Datasets durch die Vorverarbeitung von Abfragen reduziert werden. Außerdem können die Computing-Kosten für häufig verwendete Abfragen gesenkt werden.

In BigQuery materialisierten Ansichten wird die Geschwindigkeit von vorab berechneten Daten mit der Genauigkeit einer Live-Ansicht kombiniert. 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 der Basistabelle automatisch aus, um aktuelle Ergebnisse zu liefern.
  • Intelligente Feinabstimmung: Das Abfrageoptimierungstool kann Abfragen von Basistabellen automatisch an die materialisierte Ansicht umleiten, wenn es feststellt, dass die materialisierte Ansicht die Antwort effizienter liefern kann.

Vergleich

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

Dimension Logische Ansicht Materialisierte Ansicht
Datenpersistenz Keine (virtuell) Physisch (auf Festplatte gespeichert)
Ausführung Jedes Mal, wenn die Ansicht aufgerufen wird Vorberechnet; Hintergrundaktualisierung
Datenaktualität 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 Schnellere und kostengünstigere Prozesse
Wartungs- und Speicherkosten Nein Ja

1 Die Option --max_staleness verbessert die Abfrageleistung bei der Verarbeitung großer, sich häufig ändernder Datasets mit kontrollierten Kosten.

Wann sollten logische Ansichten verwendet werden?

  • Semantische Ebenen: Benennen Sie komplexe Spaltennamen in für geschäftliche Benutzer gängige Begriffe um.
  • Schnelle Entwicklung: Verwenden Sie diese Option, wenn sich die Logik ändert und Sie den Aufwand für die Verwaltung des physischen Speichers nicht übernehmen möchten.
  • Konsolidierte Datenquellen: Eine Datenquelle für Visualisierungstools wie Looker Studio oder BigQuery Sharing (früher Analytics Hub) bereitstellen.

Wann sollten materialisierte Ansichten verwendet werden?

  • Daten vorverarbeiten: Sie können die Abfrageleistung verbessern, indem Sie Aggregate, Filter, Joins und Cluster vorbereiten.
  • Dashboard-Beschleunigung BI-Tools wie Looker, die häufig dieselben aggregierten Messwerte abfragen, z. B. täglich aktive Nutzer, werden unterstützt.
  • Echtzeitanalysen für große Streams: Schnellere Antworten auf Tabellen mit Streamingdaten mit hoher Geschwindigkeit möglich
  • Kostenverwaltung Kosten für wiederholte, teure Abfragen großer Datasets senken

Best Practices

In einer gut strukturierten BigQuery-Umgebung sind logische Ansichten ein nützliches Tool zum Konsolidieren der benötigten Daten. Materialisierte Ansichten sollten als Tool zur Leistungsoptimierung für bestimmte Abfragemuster mit hohem Traffic verwendet werden, die eine umfangreiche Aggregation erfordern.

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

Nächste Schritte