AlloyDB-Zugriff auf Echtzeitdaten in BigQuery – Übersicht

Wenn Sie Echtzeitabfragen von Analysedaten neben Ihren Betriebsdaten ausführen möchten, ohne komplexe Pipelines zu erstellen, können Sie die Lakehouse-Föderation in AlloyDB for PostgreSQL verwenden. Mit der Erweiterung bigquery_fdw leitet AlloyDB Ihre Abfragen an BigQuery weiter, um über externe BigLake-Tabellen auf Live-Daten und offene Formate wie Apache Iceberg zuzugreifen. So sind keine komplexen ETL-Migrationen (Extrahieren, Transformieren, Laden) erforderlich.

Vorteile der Lakehouse-Föderation

Der Ansatz der Lakehouse-Föderation bietet folgende Vorteile:

  • Zero-ETL: Sie können Analysedaten direkt abfragen, ohne komplexe Pipelines erstellen oder verwalten zu müssen.
  • Vertraute Syntax: Sie können BigQuery-Daten mit der Standard-PostgreSQL-Syntax abfragen.
  • Echtzeit-Insights: Sie können neben Ihren Betriebstabellen auf aktuelle Daten zugreifen.
  • Compute-Auslagerung: Sie können die verteilte BigQuery-Engine für rechenintensive Aufgaben durch Push-down-Optimierung verwenden.
  • Autorisierter Zugriff: Um sicherzustellen, dass nur autorisierte Dienstkonten externe Daten abfragen können, verwenden Sie Identity and Access Management (IAM) für die zentrale Zugriffssteuerung.

Anwendungsfälle

Die Lakehouse-Föderation unterstützt die folgenden geschäftlichen und technischen Anwendungsfälle:

  • Hybride transaktionsorientierte und analytische Verarbeitung (HTAP): Sie können gleichzeitig Echtzeit-Betriebsdaten in AlloyDB und Verlaufs- oder Analysedaten in BigQuery oder Cloud Storage abfragen, ohne die Transaktionsleistung zu beeinträchtigen.
  • Echtzeit-Insights ohne anfällige Pipelines: Sie können die Latenz und die Fehlerarten herkömmlicher ETL-Prozesse vermeiden. Sie können sofort auf aktuelle Analysedaten zugreifen, um Geschäftsentscheidungen auf Grundlage der neuesten Informationen zu treffen.
  • Datenmaterialisierung für agentenbasierte Workflows: Sie können externe Analysedaten in AlloyDB materialisieren, um die spaltenbasierte Engine und die KI-Funktionen von AlloyDB zu nutzen. So lassen sich leistungsstarke Vektorsuchen, Machine-Learning-Einbettungen und erweiterte KI-gestützte agentenbasierte Workflows für Ihre föderierten Daten durchführen.

Architektur und Datenfluss

Das folgende Diagramm zeigt den Datenfluss und die Komponenteninteraktionen bei Verwendung der Lakehouse-Föderation:

Diagramm mit der Architektur der Lakehouse-Föderation, das den Fluss zwischen AlloyDB und BigQuery mit Pushdown-Optimierung darstellt.
Abbildung 1. Architektur und Datenfluss für die Lakehouse-Föderation

Im Folgenden wird der Datenflussprozess für die Lakehouse-Föderation in AlloyDB beschrieben:

  1. Abfrageübermittlung: Sie senden eine Standard-PostgreSQL-Abfrage an Ihre AlloyDB-Instanz.
  2. Abfrageplanung und -optimierung: Der AlloyDB-Abfrageplaner identifiziert Tabellen, die mit dem BigQuery Foreign Data Wrapper (FDW) externen BigQuery-Datasets zugeordnet sind.
  3. Push-down-Optimierung: AlloyDB optimiert die Abfrage, indem bestimmte Filter und Aggregationen direkt an BigQuery weitergeleitet werden. So werden nur die relevanten, gefilterten Zeilen oder voraggregierten Zusammenfassungen über das Netzwerk übertragen.
  4. Ausführung und Abruf: BigQuery führt seinen Teil der Abfrage aus. Dabei werden entweder der integrierte BigQuery-Speicher direkt gescannt oder in Cloud Storage gespeicherte Apache Iceberg-Tabellen gelesen. Das resultierende Dataset wird dann an AlloyDB zurückgestreamt.
  5. Endgültige Verarbeitung und Antwort: AlloyDB kombiniert die externen Daten mit allen lokalen Betriebstabellen, schließt die verbleibende Abfrageverarbeitung ab und gibt das Endergebnis an Ihre Anwendung zurück.

Überlegungen zu Datentypen für föderierte Abfragen

Wenn Sie eine externe BigQuery-Tabelle aus AlloyDB mit der Lakehouse-Föderation abfragen, interpretiert der AlloyDB-Abfrageplaner die BigQuery-Datentypen als entsprechende PostgreSQL-Datentypen. Diese Zuordnungen sind wichtig, um korrekte Abfragen zu schreiben und für die Definitionen externer Tabellen, die von der Erweiterung bigquery_fdw verwendet werden.

Wenn ein BigQuery-Datentyp keine direkte Zuordnung hat oder eine spezielle Verarbeitung erfordert, müssen Sie möglicherweise explizite CAST-Funktionen in Ihren Abfragen verwenden oder eine Ansicht in BigQuery erstellen, die die Daten mit kompatiblen Typen präsentiert.

Eine Liste der unterstützten Datentypen und der entsprechenden PostgreSQL-Typen finden Sie unter Zuordnungen von Datentypen.

Sicherheit und Zugriffssteuerung

Der Zugriff auf BigQuery-Daten aus AlloyDB wird über IAM verwaltet. Sie müssen dem Dienstkonto des AlloyDB-Clusters bestimmte IAM-Rollen zuweisen, um festzulegen, welche Datasets und Tabellen abgefragt werden können. So wird sichergestellt, dass föderierte Abfragen den zentralen Data-Governance-Richtlinien Ihrer Organisation entsprechen, ohne die Sicherheit zu beeinträchtigen. Weitere Informationen finden Sie unter Erforderliche Rollen.

Push-down

Sie können Filter- und Aggregations-Push-down-Techniken verwenden, um Abfragen zu beschleunigen und Kosten zu senken. Dabei werden Daten in BigQuery gefiltert oder zusammengefasst, bevor sie von AlloyDB verschoben oder verarbeitet werden. Dieser Ansatz minimiert den Netzwerkverkehr und die Arbeitsspeichernutzung. So können Sie große Datasets schnell und effizient analysieren, ohne die Ressourcengrenzwerte zu überschreiten.

Filter-Push-down

Filter-Push-down, auch Prädikat-Push-down genannt, ist eine Optimierungstechnik , bei der das Filtern von Daten so nah wie möglich an die Speicherebene verlagert wird. Dazu werden Ihre Abfragefilter (mit der WHERE Klausel) von AlloyDB nach BigQuery verschoben.

Mit dem Filter-Push-down können Sie SQL-Abfragen mit einer WHERE-Klausel verwenden, um auf eine Teilmenge der Daten aus der Remotetabelle zuzugreifen. Diese Daten können auch in einer lokalen Tabelle materialisiert oder als lokale Partition an eine PostgreSQL-Tabelle angehängt werden.

Unterstützte Vorgänge für den Filter-Push-down sind:

  • Standardvergleichsoperatoren: =, <, >, <=, >=, <>
  • Logische Operatoren: AND, OR und NOT
  • Musterabgleich: LIKE und NOT LIKE
  • Null-Prüfungen: IS NULL und IS NOT NULL
  • In-List-Auswertung: IN und NOT IN

Aggregations-Push-down

Aggregations-Push-down ist eine erweiterte Datenbankoptimierung, bei der Berechnungen wie SUM, COUNT, AVG oder GROUP BY so nah wie möglich an der Speicherebene ausgeführt werden. Bei diesem Push-down werden Zusammenfassungsfunktionen direkt in BigQuery ausgewertet, wodurch die Anzahl der an AlloyDB zurückgegebenen Zeilen erheblich reduziert werden kann.

Unterstützte Vorgänge für den Aggregations-Push-down sind:

  • SUM
  • COUNT
  • AVG
  • MIN
  • MAX

BigQuery-Kosten und -Abrechnung

Der BigQuery Foreign Data Wrapper hängt von Folgendem ab:

  • BigQuery-Compute-Preise
  • BigQuery Storage API – Preise

Weitere Informationen finden Sie unter BigQuery-Preise.

Beschränkungen

  • AlloyDB und BigQuery verwenden möglicherweise unterschiedliche Sortierungen, was zu einer unterschiedlichen Sortierung der Daten zwischen den beiden Systemen führen kann. Für jeden Teil einer Abfrage, die remote in BigQuery ausgeführt wird, folgt die Sortierung den BigQuery-Einstellungen.
  • Abfragen, die nach dem Push-down eine sehr große Datenmenge aus BigQuery zurückgeben, werden nicht optimiert.

Nächste Schritte