Ü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
- Einführung in logische Ansichten
- Logische Ansichten erstellen
- Einführung in materialisierte Ansichten
- Materialisierte Ansichten erstellen