Scegli come accedere ai dati BigQuery da AlloyDB

Per accedere ai dati di BigQuery da AlloyDB per PostgreSQL, puoi utilizzare le estensioni bigquery_fdw (foreign data wrapper) e alloydb_sync. Insieme, queste estensioni forniscono metodi per integrare i dati analitici e operativi: accesso ai dati in tempo reale (federazione lakehouse), operazioni sui dati una tantum e sincronizzazione periodica. Questo documento descrive le opzioni per accedere ai dati di BigQuery da AlloyDB.

Federazione lakehouse

La federazione lakehouse fornisce l'accesso in tempo reale ai dati di BigQuery direttamente da AlloyDB per PostgreSQL senza spostare o duplicare i dati. Per collegare i due sistemi, questo metodo utilizza l'estensione bigquery_fdw, che consente di eseguire query sui set di dati live in loco. Poiché esegui query direttamente sui dati di origine, ottieni insight dai dati più recenti disponibili, evitando la latenza e il sovraccarico di manutenzione delle pipeline di dati o degli intervalli di sincronizzazione.

Per ottimizzare le prestazioni, AlloyDB esegue il push dei filtri e delle aggregazioni standard in BigQuery, trasmettendo in streaming solo i risultati pertinenti e prefiltrati alla tua istanza. Per ulteriori informazioni, consulta la panoramica sull'accesso di AlloyDB ai dati in tempo reale in BigQuery.

Casi d'uso

La federazione lakehouse supporta i seguenti casi d'uso:

  • Analisi operativa in tempo reale: devi accedere ai dati analitici più recenti disponibili in BigQuery per prendere decisioni aziendali immediate, senza attendere l'elaborazione batch.
  • Elaborazione analitica e transazionale ibrida (HTAP): devi eseguire analisi che uniscono i dati operativi "hot" live che risiedono in AlloyDB con enormi volumi di dati "cold" storici archiviati in BigQuery.
  • Analisi dei dati ad hoc ed esplorativa: vuoi eseguire query immediate sui dati di BigQuery senza creare, gestire o attendere pipeline ETL (estrazione, trasformazione e caricamento) complesse.
  • Architettura senza copia: vuoi ridurre al minimo i costi di archiviazione e il sovraccarico di governance dei dati mantenendo i dati analitici in un'unica posizione e mantenendo l'accesso tramite la semantica PostgreSQL.

Sincronizzazione una tantum delle tabelle

Un'operazione una tantum sposta o accede ai dati di BigQuery una sola volta, anziché in base a una pianificazione continua. Puoi eseguire un'operazione una tantum utilizzando le tabelle di sincronizzazione o importando tabelle esterne.

Tabelle di sincronizzazione

Puoi eseguire una sincronizzazione una tantum utilizzando la alloydb_sync.import_bq_table() funzione nell'estensione alloydb_sync. Questa funzione trasmette in streaming i dati da BigQuery allo spazio di archiviazione AlloyDB locale.

Il risultato è una tabella PostgreSQL completamente indipendente e scrivibile nel cluster AlloyDB. Poiché la tabella sincronizzata è scrivibile, puoi eseguire liberamente le operazioni INSERT, UPDATE e DELETE sui dati locali. Per ulteriori informazioni, consulta Sincronizzare i dati di BigQuery con AlloyDB.

Importare tabelle

Puoi eseguire un'importazione una tantum utilizzando l'estensione bigquery_fdw. Questo metodo utilizza IMPORT FOREIGN SCHEMA o CREATE FOREIGN TABLE per mappare il set di dati BigQuery in AlloyDB.

Le tabelle esterne create con bigquery_fdw sono riferimenti di sola lettura ai dati di BigQuery remoti. Per creare una copia locale dei dati, puoi eseguire una query CREATE TABLE local_table AS (SELECT * FROM foreign_table). Per ulteriori informazioni, consulta Importare i dati di BigQuery in AlloyDB.

Casi d'uso

Le operazioni sui dati una tantum supportano i seguenti casi d'uso:

  • Arricchimento dei dati: estrai gli output analitici precalcolati (ad esempio bucket di segmentazione dei clienti o previsioni di machine learning) da BigQuery in AlloyDB per arricchire il database operativo.
  • Servizio di applicazioni a bassa latenza: fornisci l'accesso immediato a un sottoinsieme di dati storici in cui il sovraccarico o la latenza delle query di BigQuery da remoto non sono accettabili.
  • Modifica isolata dei dati: ottieni una copia locale dei dati analitici da elaborare, modificare o indicizzare indipendentemente dal set di dati di origine (ad esempio, generando incorporamenti vettoriali con AlloyDB AI).

Sincronizzazione periodica delle tabelle

Le operazioni periodiche aggiornano i dati in base a una pianificazione ricorrente, ad esempio ogni ora o ogni giorno. Puoi configurare operazioni periodiche utilizzando le tabelle di sincronizzazione o pianificando le query sulle tabelle importate.

Tabelle di sincronizzazione

Puoi stabilire una pianificazione di aggiornamento automatico utilizzando la alloydb_sync.create_bq_sync_table() funzione nell'alloydb_sync estensione. Questa funzione configura i worker in background per estrarre periodicamente i dati aggiornati da BigQuery e aggiornare la tabella AlloyDB locale in modo che rifletta l'origine.

Le tabelle di sincronizzazione periodica create con alloydb_sync sono tabelle gestite di sola lettura. In questo modo si garantisce l'integrità dei dati, consentendo alle applicazioni di eseguire query sui dati localmente con prestazioni elevate e di scalare orizzontalmente tra i pool di lettura. Per ulteriori informazioni, consulta Sincronizzare i dati di BigQuery con AlloyDB e Panoramica sulla sincronizzazione dei dati.

Importare tabelle

Puoi configurare importazioni periodiche combinando l'estensione bigquery_fdw con l'estensione pg_cron di PostgreSQL. In questo approccio, bigquery_fdw fornisce la definizione della tabella esterna di sola lettura e pg_cron esegue periodicamente query SQL (ad esempio TRUNCATE e INSERT INTO ... SELECT o ricreando la tabella) per aggiornare una tabella locale.

A differenza delle tabelle di sincronizzazione, questo approccio richiede di gestire e mantenere manualmente le pianificazioni pg_cron e gli script di aggiornamento SQL. Per ulteriori informazioni, consulta Configurare una pianificazione per importare periodicamente i dati.

Casi d'uso

Le operazioni periodiche supportano i seguenti casi d'uso:

  • Servizio ad alta concorrenza: fornisci insight analitici a migliaia di utenti simultanei. Mantenendo i dati locali in AlloyDB ed eseguendo lo scale out con i pool di lettura, puoi aggirare i limiti di connessione simultanea intrinseci di BigQuery.
  • Accelerazione delle prestazioni: elabora i dati utilizzando il motore colonnare AlloyDB e la cache del buffer locale per ottenere le massime prestazioni delle query, dove l'applicazione può tollerare i dati aggiornati in base a una pianificazione.
  • Mirroring automatico dei dati: mantieni le applicazioni operative fornite con dati aggiornati dal data warehouse in base a una pianificazione di tipo "imposta e dimentica".

Passaggi successivi