Wenn Sie von AlloyDB for PostgreSQL auf BigQuery-Daten zugreifen möchten, können Sie die Erweiterungen bigquery_fdw (Foreign Data Wrapper) und alloydb_sync verwenden. Zusammen bieten diese Erweiterungen Methoden zum Integrieren Ihrer Analyse- und Betriebsdaten: Echtzeit-Datenzugriff (Lakehouse-Föderation), einmalige Datenvorgänge und regelmäßige Synchronisierung. In diesem Dokument werden die Optionen für den Zugriff auf BigQuery-Daten aus AlloyDB beschrieben.
Lakehouse-Föderation
Die Lakehouse-Föderation bietet Echtzeitzugriff auf Ihre BigQuery-Daten direkt aus AlloyDB for PostgreSQL, ohne dass die Daten verschoben oder dupliziert werden müssen. Um die beiden Systeme zu verbinden, wird bei dieser Methode die Erweiterung bigquery_fdw verwendet, mit der Sie Abfragen für Live-Datasets direkt ausführen können. Da Sie die Quelldaten direkt abfragen, erhalten Sie Einblicke aus den aktuellsten verfügbaren Daten. Die Latenz und der Wartungsaufwand von Datenpipelines oder Synchronisierungsintervallen werden dabei umgangen.
Zur Optimierung der Leistung überträgt AlloyDB Standardfilter und ‑Aggregationen an BigQuery und streamt nur die relevanten, vorab gefilterten Ergebnisse zurück an Ihre Instanz. Weitere Informationen finden Sie unter Übersicht über den AlloyDB-Zugriff auf Echtzeitdaten in BigQuery.
Anwendungsfälle
Die Lakehouse-Föderation unterstützt die folgenden Anwendungsfälle:
- Betriebsanalysen in Echtzeit: Sie benötigen Zugriff auf die neuesten Analysedaten in BigQuery, um sofort Geschäftsentscheidungen treffen zu können, ohne auf die Batchverarbeitung warten zu müssen.
- Hybride transaktionale und analytische Verarbeitung (Hybrid Transactional/Analytical Processing, HTAP): Sie müssen Analysen ausführen, bei denen Live-Betriebsdaten aus AlloyDB mit großen Mengen an Verlaufsdaten aus BigQuery kombiniert werden.
- Ad-hoc- und explorative Datenanalyse: Sie möchten sofort Abfragen für BigQuery-Daten ausführen, ohne komplexe ETL-Pipelines (Extract, Transform, Load) erstellen, warten oder verwalten zu müssen.
- Architektur ohne Kopien: Sie möchten die Speicherkosten und den Aufwand für die Datenverwaltung minimieren, indem Sie Ihre Analysedaten an einem Ort aufbewahren und gleichzeitig den Zugriff über die PostgreSQL-Semantik beibehalten.
Einmalige Tabellensynchronisierung
Bei einem einmaligen Vorgang werden Daten nur einmal aus BigQuery verschoben oder abgerufen, nicht nach einem fortlaufenden Zeitplan. Sie können einen einmaligen Vorgang ausführen, indem Sie Tabellen synchronisieren oder externe Tabellen importieren.
Tabellen synchronisieren
Sie können eine einmalige Synchronisierung mit der alloydb_sync.import_bq_table()
Funktion in der alloydb_sync Erweiterung durchführen. Mit dieser Funktion werden Daten aus BigQuery in den lokalen AlloyDB-Speicher gestreamt.
Das Ergebnis ist eine vollständig unabhängige, beschreibbare PostgreSQL-Tabelle in Ihrem AlloyDB-Cluster. Da die synchronisierte Tabelle beschreibbar ist, können Sie INSERT-, UPDATE- und DELETE-Vorgänge für die lokalen Daten ausführen.
Weitere Informationen finden Sie unter
BigQuery-Daten mit AlloyDB synchronisieren.
Tabellen importieren
Sie können einen einmaligen Import mit der Erweiterung bigquery_fdw durchführen. Bei dieser Methode wird IMPORT FOREIGN SCHEMA oder CREATE FOREIGN TABLE verwendet, um das BigQuery-Dataset in AlloyDB zuzuordnen.
Externe Tabellen, die mit bigquery_fdw erstellt wurden, sind schreibgeschützte Verweise auf die Remote-BigQuery-Daten. Wenn Sie eine lokale Kopie der Daten erstellen möchten, können Sie eine CREATE TABLE local_table AS (SELECT * FROM foreign_table)-Abfrage ausführen.
Weitere Informationen finden Sie unter
BigQuery-Daten in AlloyDB importieren.
Anwendungsfälle
Einmalige Datenvorgänge unterstützen die folgenden Anwendungsfälle:
- Datenanreicherung: Rufen Sie vorab berechnete Analyseergebnisse (z. B. Kundensegmentierungs-Buckets oder ML-Vorhersagen) aus BigQuery in AlloyDB ab, um Ihre Betriebsdatenbank anzureichern.
- Anwendungsbereitstellung mit geringer Latenz: Bieten Sie sofortigen Zugriff auf eine Teilmenge von Verlaufsdaten, bei denen der Aufwand oder die Latenz der Remote-Abfrage von BigQuery nicht akzeptabel ist.
- Isolierte Datenänderung: Erstellen Sie eine lokale Kopie von Analysedaten, die unabhängig vom Quelldataset verarbeitet, geändert oder indexiert werden können (z. B. zum Generieren von Vektoreinbettungen mit AlloyDB AI).
Regelmäßige Tabellensynchronisierung
Bei regelmäßigen Vorgängen werden Daten nach einem wiederkehrenden Zeitplan aktualisiert, z. B. stündlich oder täglich. Sie können regelmäßige Vorgänge einrichten, indem Sie Tabellen synchronisieren oder Abfragen für importierte Tabellen planen.
Tabellen synchronisieren
Sie können einen automatischen Aktualisierungszeitplan mit der
alloydb_sync.create_bq_sync_table() Funktion in der alloydb_sync Erweiterung einrichten.
Mit dieser Funktion werden Hintergrundprozesse konfiguriert, die regelmäßig aktualisierte Daten aus BigQuery abrufen und Ihre lokale AlloyDB-Tabelle aktualisieren, um die Quelle zu spiegeln.
Regelmäßige Synchronisierungstabellen, die mit alloydb_sync erstellt wurden, sind verwaltete, schreibgeschützte Tabellen.
So wird die Datenintegrität gewährleistet, während Anwendungen die Daten lokal mit hoher Leistung abfragen und horizontal über Lesepools skaliert werden können.
Weitere Informationen finden Sie unter
BigQuery-Daten mit AlloyDB synchronisieren
und
Übersicht über die Datensynchronisierung.
Tabellen importieren
Sie können regelmäßige Importe einrichten, indem Sie die Erweiterung bigquery_fdw mit der PostgreSQL-Erweiterung pg_cron kombinieren. Bei diesem Ansatz stellt bigquery_fdw die schreibgeschützte Definition der externen Tabelle bereit und pg_cron führt regelmäßig SQL-Abfragen aus (z. B. TRUNCATE und INSERT INTO ... SELECT oder das Neuerstellen der Tabelle), um eine lokale Tabelle zu aktualisieren.
Im Gegensatz zu Synchronisierungstabellen müssen Sie bei diesem Ansatz die pg_cron-Zeitpläne und SQL-Aktualisierungsskripts manuell verwalten und warten.
Weitere Informationen finden Sie unter
Zeitplan für den regelmäßigen Import von Daten einrichten.
Anwendungsfälle
Regelmäßige Vorgänge unterstützen die folgenden Anwendungsfälle:
- Bereitstellung mit hoher Parallelität: Stellen Sie Tausenden von gleichzeitigen Nutzern Analyseergebnisse zur Verfügung. Indem Sie lokale Daten in AlloyDB verwalten und mit Lesepools skalieren, können Sie die in BigQuery vorhandenen Beschränkungen für gleichzeitige Verbindungen umgehen.
- Leistungssteigerung: Verarbeiten Sie Daten mit der spaltenbasierten Engine von AlloyDB und dem lokalen Puffer-Cache, um die Abfrageleistung zu maximieren, wenn Ihre Anwendung Daten tolerieren kann, die nach einem Zeitplan aktualisiert werden.
- Automatisierte Datenspiegelung: Stellen Sie Ihren Betriebsanwendungen regelmäßig aktuelle Daten aus Ihrem Data Warehouse zur Verfügung.
Nächste Schritte
- Weitere Informationen zum Abfragen von Live-Daten in BigQuery aus AlloyDB.
- Zugriff auf Echtzeitdaten konfigurieren.
- Übersicht über die Datensynchronisierung.
- BigQuery-Daten in AlloyDB importieren.
- BigQuery-Daten mit AlloyDB synchronisieren.