Per eseguire query in tempo reale sui dati analitici insieme ai dati operativi senza creare pipeline complesse, puoi utilizzare la federazione dei lakehouse in AlloyDB per PostgreSQL. Basato sull'estensione bigquery_fdw, AlloyDB indirizza le query a BigQuery per accedere ai dati in tempo reale e ai formati aperti come Apache Iceberg tramite le tabelle esterne BigLake, eliminando la necessità di migrazioni ETL (estrazione, trasformazione, caricamento) complesse.
Vantaggi della federazione dei lakehouse
L'approccio alla federazione dei lakehouse offre i seguenti vantaggi:
- Zero ETL: esegui query sui dati analitici direttamente senza creare o gestire pipeline complesse.
- Sintassi familiare: utilizza la sintassi PostgreSQL standard per eseguire query sui dati BigQuery.
- Informazioni in tempo reale: accedi ai dati aggiornati insieme alle tabelle operative.
- Offload del computing: utilizza il motore distribuito di BigQuery per le operazioni più complesse tramite l'ottimizzazione push-down.
- Accesso autorizzato: per assicurarti che solo i service account autorizzati possano eseguire query sui dati esterni, utilizza Identity and Access Management (IAM) per il controllo centralizzato dell'accesso.
Casi d'uso
La federazione dei lakehouse supporta i seguenti casi d'uso aziendali e tecnici:
- Carichi di lavoro di elaborazione analitica e transazionale ibrida (HTAP): puoi eseguire query sui dati operativi in tempo reale in AlloyDB e sui dati storici o analitici in BigQuery o Cloud Storage contemporaneamente senza influire sulle prestazioni transazionali.
- Informazioni in tempo reale senza pipeline fragili: puoi evitare la latenza e le modalità di errore dei processi ETL tradizionali. Accedi immediatamente ai dati analitici aggiornati per prendere decisioni aziendali in base alle informazioni più aggiornate.
- Materializzazione dei dati per i flussi di lavoro agentici: puoi materializzare i dati analitici esterni in AlloyDB per utilizzare il motore colonnare di AlloyDB e le funzionalità di AlloyDB AI. In questo modo, puoi eseguire ricerche vettoriali ad alte prestazioni, incorporamenti di machine learning e flussi di lavoro agentici avanzati basati sull'AI sui dati federati.
Architettura e flusso di dati
Il seguente diagramma mostra il flusso di dati e le interazioni dei componenti quando utilizzi la federazione dei lakehouse:
Di seguito viene descritto il processo di flusso di dati per la federazione dei lakehouse in AlloyDB:
- Invio della query: invii una query PostgreSQL standard alla tua istanza AlloyDB.
- Pianificazione e ottimizzazione delle query: il pianificatore di query di AlloyDB identifica le tabelle mappate ai set di dati BigQuery esterni utilizzando il wrapper di dati esterni (FDW) di BigQuery.
- Ottimizzazione push-down: AlloyDB ottimizza la query eseguendo il push-down di filtri e aggregazioni specifici direttamente in BigQuery. In questo modo, la rete trasferisce solo le righe filtrate pertinenti o i riepiloghi pre-aggregati.
- Esecuzione e recupero: BigQuery esegue la sua parte della query, eseguendo la scansione diretta dell'archiviazione integrata di BigQuery o leggendo le tabelle Apache Iceberg archiviate in Cloud Storage, e trasmette in streaming il set di dati risultante ad AlloyDB.
- Elaborazione finale e risposta: AlloyDB combina i dati esterni con le tabelle operative locali, completa l'elaborazione delle query rimanenti e restituisce il risultato finale all'applicazione.
Considerazioni sui tipi di dati per le query federate
Quando esegui una query su una tabella BigQuery esterna da AlloyDB utilizzando la federazione dei lakehouse, il pianificatore di query di AlloyDB interpreta i tipi di dati BigQuery come tipi di dati PostgreSQL corrispondenti. Comprendere questi mapping è fondamentale per scrivere query corrette e per le definizioni delle tabelle esterne utilizzate dall'estensione bigquery_fdw.
Se un tipo di dati BigQuery non ha un mapping diretto o richiede una gestione speciale, potresti dover utilizzare funzioni CAST esplicite all'interno delle query o creare una vista in BigQuery che presenti i dati con tipi compatibili.
Per un elenco dei tipi di dati supportati e dei tipi PostgreSQL corrispondenti, vedi Mapping dei tipi di dati.
Sicurezza e controllo dell'accesso
L'accesso ai dati BigQuery da AlloyDB viene gestito tramite IAM. Devi concedere ruoli IAM specifici al account di servizio del cluster AlloyDB per definire quali set di dati e tabelle possono essere sottoposti a query. In questo modo, le query federate rispettano le norme di governance dei dati centralizzate della tua organizzazione senza compromettere la sicurezza. Per ulteriori informazioni, vedi Ruoli richiesti.
Push-down
Puoi utilizzare le tecniche di push-down di filtri e aggregazioni, che velocizzano le query e riducono i costi filtrando o riepilogando i dati in BigQuery prima che vengano spostati o elaborati da AlloyDB. Questo approccio riduce al minimo il traffico di rete e la memoria utilizzata, consentendoti di analizzare set di dati di grandi dimensioni in modo rapido ed efficiente senza superare i limiti delle risorse.
Push-down dei filtri
Il push-down dei filtri, noto anche come push-down dei predicati, è una tecnica di ottimizzazione
che sposta il filtraggio dei dati il più vicino possibile al livello di archiviazione spostando i filtri delle query (utilizzando la clausola WHERE) da
AlloyDB a BigQuery.
Con il push-down dei filtri, puoi utilizzare query SQL con una clausola WHERE per accedere a un sottoinsieme di dati dalla tabella remota. Questi dati possono anche essere materializzati in una tabella locale o collegati come partizione locale a una tabella PostgreSQL.
Le operazioni supportate per il push-down dei filtri includono le seguenti:
- Operatori di confronto standard:
=,<,>,<=,>=,<> - Operatori logici:
AND,OReNOT - Corrispondenza di pattern:
LIKEeNOT LIKE - Controlli dei valori null:
IS NULLeIS NOT NULL - Valutazione in elenco:
INeNOT IN
Push-down delle aggregazioni
Il push-down delle aggregazioni è un'ottimizzazione avanzata del database che esegue i calcoli, ad esempio SUM, COUNT, AVG o GROUP BY, il più vicino possibile al livello di archiviazione. Questo push-down valuta le funzioni di riepilogo direttamente in BigQuery, il che può ridurre significativamente il numero di righe restituite ad AlloyDB.
Le operazioni supportate per il push-down delle aggregazioni includono le seguenti:
SUMCOUNTAVGMINMAX
Costi e fatturazione di BigQuery
Il wrapper di dati esterni di BigQuery dipende da quanto segue:
- Prezzi di computing di BigQuery
- Prezzi dell'API BigQuery Storage
Per informazioni, vedi Prezzi di BigQuery.
Limitazioni
- AlloyDB e BigQuery potrebbero utilizzare regole di confronto diverse, il che può comportare un ordinamento dei dati diverso tra i due sistemi. Per qualsiasi parte di una query eseguita in remoto su BigQuery, le regole di confronto seguono le impostazioni di BigQuery.
- Le query che restituiscono una quantità molto elevata di dati da BigQuery, dopo il push-down, non sono ottimizzate.