Introduzione a BigQuery Omni
Con BigQuery Omni, puoi eseguire analisi di BigQuery sui dati archiviati in Amazon Simple Storage Service (Amazon S3) o Azure Blob Storage utilizzando le tabelle BigLake.
Molte organizzazioni archiviano i dati in più cloud pubblici. Spesso questi dati finiscono per essere isolati in silos, perché è difficile ottenere insight trasversali su tutti i dati. Tu vuoi essere in grado di analizzare i dati con uno strumento per i dati multi-cloud che è economico, veloce e non crea un ulteriore sovraccarico di lavoro la governance dei dati. Con BigQuery Omni, riduciamo queste difficoltà con un'interfaccia unificata.
Per eseguire l'analisi di BigQuery sui tuoi dati esterni, devi Innanzitutto, devi connetterti ad Amazon S3 o Archiviazione BLOB. Se Se vuoi eseguire query su dati esterni, devi creare un BigLake che fa riferimento ad Amazon S3 o Dati di Archiviazione BLOB.
Puoi anche spostare i dati da un cloud all'altro per combinarli tra loro utilizzando eseguire il trasferimento cross-cloud o eseguire query sui dati tra cloud utilizzando join cross-cloud. BigQuery Omni offre una soluzione di analisi cross-cloud con la possibilità di analizzare i dati dove si trovano e la flessibilità di replicarli se necessario. Per ulteriori informazioni, consulta Caricare i dati con il trasferimento tra cloud e Unione tra cloud.
Architettura
L'architettura di BigQuery separa il computing dall'archiviazione, consentendo fare lo scale out di BigQuery in base alle esigenze per gestire carichi di lavoro di grandi dimensioni. BigQuery Omni estende questa architettura eseguendo BigQuery in altri cloud. Di conseguenza, non devi spostare fisicamente i dati nello spazio di archiviazione BigQuery. In fase di elaborazione si verificano dove i dati si trovano già.
I risultati delle query possono essere restituiti a Google Cloud tramite una connessione sicura, ad esempio per essere visualizzati nella console Google Cloud. In alternativa, puoi scrivere i risultati direttamente nei bucket Amazon S3 o nell'archiviazione BLOB. In questo caso, i risultati della query non vengono spostati tra i cloud.
BigQuery Omni utilizza i ruoli IAM AWS o i principali di Azure Active Directory standard per accedere ai dati del tuo abbonamento. Puoi delegare l'accesso in lettura o scrittura a BigQuery Omni e revocarlo in qualsiasi momento.
Flusso di dati durante l'esecuzione di query sui dati
L'immagine seguente descrive come si spostano i dati tra Google Cloud e AWS o Azure per le query seguenti:
SELECT
dichiarazioneCREATE EXTERNAL TABLE
dichiarazione
- Il piano di controllo di BigQuery riceve i job di query tramite la console Google Cloud, lo strumento a riga di comando bq, un metodo API o una libreria client.
- Il piano di controllo BigQuery invia i job di query per l'elaborazione a piano dati BigQuery su AWS o Azure.
- Il piano dati BigQuery riceve la query dal piano di controllo tramite una connessione VPN.
- Il piano dati BigQuery legge i dati della tabella Bucket Amazon S3 o archiviazione BLOB.
- Il piano dati BigQuery esegue il job di query sui dati della tabella. L'elaborazione dei dati della tabella avviene nella regione AWS o Azure specificata.
- Il risultato della query viene trasmesso dal piano di dati al piano di controllo tramite la connessione VPN.
- Il piano di controllo BigQuery riceve i risultati del job di query da mostrare in risposta al job di query. Questi dati vengono memorizzati a 24 ore.
- Il risultato della query viene restituito.
Per saperne di più, consulta Eseguire query sui dati Amazon S3 e dati di archiviazione BLOB.
Flusso di dati durante l'esportazione dei dati
L'immagine seguente descrive come si spostano i dati tra Google Cloud e AWS
o Azure durante un'istruzione EXPORT DATA
.
- Il piano di controllo di BigQuery riceve i job di query di esportazione tramite la console Google Cloud, lo strumento a riga di comando bq, un metodo API o una libreria client. La contiene il percorso di destinazione del risultato della query Bucket Amazon S3 o archiviazione BLOB.
- Il piano di controllo BigQuery invia i job delle query di esportazione per l'elaborazione al piano dati BigQuery (su AWS o Azure).
- Il piano dati BigQuery riceve la query di esportazione dal piano di controllo tramite la connessione VPN.
- Il piano dati BigQuery legge i dati della tabella Bucket Amazon S3 o archiviazione BLOB.
- Il piano dati BigQuery esegue il job di query sui dati della tabella. L'elaborazione dei dati della tabella avviene nella regione AWS o Azure specificata.
- BigQuery scrive il risultato della query nella destinazione specificata del tuo bucket Cloud Storage nel bucket Amazon S3 o BLOB.
Per saperne di più, consulta Esportare i risultati di una query in Amazon S3 e Archiviazione BLOB.
Vantaggi
Rendimento. Puoi ottenere gli approfondimenti più velocemente, perché i dati non vengono copiati e le query vengono eseguite nella stessa regione in cui si trovano i dati.
Cost. Risparmi sui costi di trasferimento dei dati in uscita perché i dati non si muovono. Non sono previsti costi aggiuntivi per il tuo account AWS o Azure relativi all'analisi di BigQuery Omni, perché le query vengono eseguite su cluster gestiti da Google. Ti viene addebitato solo l'utilizzo delle query, in base al modello di prezzo di BigQuery.
Sicurezza e governance dei dati. Gestisci i dati nel tuo abbonamento AWS o Azure. Non è necessario spostare o copiare i dati non elaborati dal cloud pubblico. Tutto il calcolo avviene nel multi-tenant di BigQuery che viene eseguito all'interno della stessa regione dei tuoi dati.
Architettura serverless. Come il resto di BigQuery, BigQuery Omni è un'offerta serverless. Google esegue il deployment e la gestione dei cluster che eseguono BigQuery Omni. Non devi eseguire il provisioning di alcuna risorsa per gestire qualsiasi cluster.
Facilità di gestione. BigQuery Omni offre una piattaforma unificata un'interfaccia di gestione tramite Google Cloud. BigQuery Omni può utilizzare il tuo account Google Cloud e i progetti BigQuery esistenti. Tu scrivere una query GoogleSQL nella console Google Cloud per eseguire query AWS o Azure e vedere i risultati visualizzati nella console Google Cloud.
Trasferimento cross-cloud. Puoi caricare i dati in BigQuery standard da bucket S3 e da archiviazione BLOB. Per ulteriori informazioni, vedi Trasferire i dati di Amazon S3 e Dati di Archiviazione BLOB in BigQuery.
Memorizzazione nella cache dei metadati per migliorare le prestazioni
Puoi utilizzare i metadati memorizzati nella cache per migliorare le prestazioni delle query sulle tavole BigLake che fanno riferimento ai dati di Amazon S3. È particolarmente utile nei casi in cui si lavora con un numero elevato di file o se i dati sono partizionati in Hive.
I metadati includono nomi di file, informazioni sulla partizione e metadati fisici di file come i conteggi delle righe. Puoi scegliere se attivare o meno la memorizzazione nella cache dei metadati in una tabella. Query con un numero elevato di file e con Hive i filtri di partizione traggono il massimo vantaggio dalla memorizzazione nella cache dei metadati.Se non attivi la memorizzazione nella cache dei metadati, le query sulla tabella devono leggere l'origine dati esterna per recuperare i metadati dell'oggetto. La lettura di questi dati aumenta la latenza delle query. L'elenco di milioni di file dall'origine dati esterna può richiedere diversi minuti. Se attivi la memorizzazione nella cache dei metadati, le query possono evitare di elencare i file dall'origine dati esterna e può eseguire il partizionamento ed eliminare i file più rapidamente.
Esistono due proprietà che controllano questa funzionalità:
- Anticipo massimo specifica quando le query utilizzano i metadati memorizzati nella cache.
- La modalità cache dei metadati specifica in che modo vengono raccolti i metadati.
Se hai abilitato la memorizzazione nella cache dei metadati, specifichi l'intervallo massimo l'inattività dei metadati accettabile per le operazioni sulla tabella. Ad esempio, se specifichi un intervallo di 1 ora, le operazioni sulla tabella utilizzano i metadati memorizzati nella cache se sono stati aggiornati nell'ora precedente. Se i metadati memorizzati nella cache sono precedenti a questa data, l'operazione passa al recupero dei metadati da Amazon S3. Puoi specificare un intervallo di inattività compreso tra 30 minuti e 7 giorni.
Puoi scegliere di aggiornare la cache automaticamente o manualmente:
- Per gli aggiornamenti automatici, la cache viene aggiornata a un intervallo definito dal sistema, in genere tra 30 e 60 minuti. L'aggiornamento automatico della cache è un buon approccio se i file in Amazon S3 vengono aggiunti, eliminati o modificati a intervalli random. Se devi controllare la tempistica dell'aggiornamento, ad esempio per attivarlo alla fine di un job di estrazione, trasformazione e caricamento, utilizza l'aggiornamento manuale.
Per gli aggiornamenti manuali, esegui Sistema
BQ.REFRESH_EXTERNAL_METADATA_CACHE
procedura per aggiornare la cache dei metadati in base a una pianificazione che soddisfi i tuoi requisiti. L'aggiornamento manuale della cache è un buon approccio se i file in Amazon S3 vengono aggiunti, eliminati o modificati a intervalli noti, ad esempio come output di una pipeline.Se emetti più aggiornamenti manuali simultanei, solo uno avrà esito positivo.
La cache dei metadati scade dopo 7 giorni se non viene aggiornata.
Gli aggiornamenti manuali e automatici della cache vengono eseguiti con priorità query INTERACTIVE
.
Se scegli di utilizzare gli aggiornamenti automatici, ti consigliamo di creare una
prenotazione e poi un
assegnazione con un tipo di job BACKGROUND
per il progetto che esegue i job di aggiornamento della cache dei metadati. In questo modo
aggiornare i job rispetto alla concorrenza con le query degli utenti per le risorse, e
potrebbero non riuscire se non sono disponibili risorse sufficienti.
Prima di impostarli, devi considerare in che modo interagiranno i valori dell'intervallo di inattività e della modalità di memorizzazione nella cache dei metadati. Considera i seguenti esempi:
- Se aggiorni manualmente la cache dei metadati per una tabella e imposti
l'intervallo di inattività a 2 giorni, devi eseguire
BQ.REFRESH_EXTERNAL_METADATA_CACHE
procedura di sistema ogni 2 giorni o meno se vuoi che le operazioni sulla tabella utilizzino i metadati memorizzati nella cache. - Se aggiorni automaticamente la cache dei metadati di una tabella e imposti l'intervallo di inattività su 30 minuti, è possibile che alcune operazioni sulla tabella vengano lette da Amazon S3 se l'aggiornamento della cache dei metadati richiede più tempo rispetto al consueto intervallo di 30-60 minuti.
Per trovare informazioni sui job di aggiornamento dei metadati, esegui una query
INFORMATION_SCHEMA.JOBS
visualizzazione,
come mostrato nell'esempio seguente:
SELECT * FROM `region-us.INFORMATION_SCHEMA.JOBS_BY_PROJECT` WHERE job_id LIKE '%metadata_cache_refresh%' AND creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 6 HOUR) ORDER BY start_time DESC LIMIT 10;
Per ulteriori informazioni, consulta la sezione Memorizzazione nella cache dei metadati.
Tabelle con cache abilitata con viste materializzate
Puoi utilizzare le visualizzazioni tabelle materializzate su tabelle con cache dei metadati di Amazon Simple Storage Service (Amazon S3) per migliorare le prestazioni e l'efficienza quando esegui query sui dati strutturati archiviati in Amazon S3. Queste viste materializzate funzionano come le viste materializzate rispetto alle tabelle di archiviazione gestite da BigQuery, con i relativi vantaggi aggiornamento automatico e ottimizzazione intelligente.
Per rendere disponibili i dati di Amazon S3 in una vista materializzata in una regione BigQuery supportata per le unioni, crea una replica della vista materializzata. Puoi creare repliche di viste materializzate solo su viste di materiali autorizzate.
Limitazioni
Oltre alle limitazioni per le tabelle BigLake, si applicano le seguenti limitazioni BigQuery Omni, che include tabelle basate su BigLake su dati Amazon S3 e Blob Storage:
- Lavorare con i dati in BigQuery Omni regioni non è supportata Versioni Enterprise Plus. Per ulteriori informazioni sulle versioni, consulta Introduzione a Versioni di BigQuery.
- Le visualizzazioni
OBJECT_PRIVILEGES
,STREAMING_TIMELINE_BY_*
,TABLE_SNAPSHOTS
,TABLE_STORAGE
,TABLE_CONSTRAINTS
,KEY_COLUMN_USAGE
,CONSTRAINT_COLUMN_USAGE
ePARTITIONS
INFORMATION_SCHEMA
non sono disponibili per le tabelle BigLake basate su dati di Amazon S3 e Archiviazione BLOB. - Le viste materializzate non sono supportate per Blob Storage.
- Le funzioni JavaScript definite dall'utente non sono supportate.
Le seguenti istruzioni SQL non sono supportate:
- Istruzioni BigQuery ML.
- Istruzioni DDL (Data Definition Language)
che richiedono dati gestiti in BigQuery. Per
ad esempio
CREATE EXTERNAL TABLE
,CREATE SCHEMA
oCREATE RESERVATION
sono supportati, mentreCREATE MATERIALIZED VIEW
non lo sono. - Istruzioni DML (Data Manipulation Language).
Alle query e alla lettura delle tabelle temporanee di destinazione (anteprima) si applicano le seguenti limitazioni:
- L'esecuzione di query sulle tabelle temporanee di destinazione con l'istruzione
SELECT
non è supportati. - Utilizzare l'API BigQuery Storage Read per leggere i dati delle tabelle temporanee di destinazione non sono supportati.
- Quando utilizzi il driver ODBC,
letture a velocità effettiva elevata (opzione
EnableHTAPI
) non supportate.
- L'esecuzione di query sulle tabelle temporanee di destinazione con l'istruzione
Le query pianificate sono supportate solo tramite il metodo API o CLI. L'opzione tabella di destinazione è disattivata per le query. Sono consentite solo query
EXPORT DATA
.L'API BigQuery Storage non è disponibile nelle regioni BigQuery Omni.
Se la query utilizza la clausola
ORDER BY
e ha dimensioni dei risultati superiori a 256 MB, la query non va a buon fine. Per risolvere il problema, riduci le dimensioni del risultato o rimuovi la clausolaORDER BY
dalla query. Per ulteriori informazioni sulle quote di BigQuery Omni, consulta Quote e limiti.Utilizzo delle chiavi di crittografia gestite dal cliente (CMEK) con set di dati e servizi non è supportato.
Prezzi
Per informazioni sui prezzi e sulle offerte a tempo limitato in BigQuery Omni, consulta la pagina Prezzi di BigQuery Omni.
Quote e limiti
Per informazioni sulle quote di BigQuery Omni, consulta Quote e limiti.
Se il risultato della query è più grande di 20 GiB, ti consigliamo di esportarlo in Amazon S3 o Blob Storage. Per saperne di più sulle quote per l'API BigQuery Connection, consulta API BigQuery Connection.
Località
BigQuery Omni elabora le query nella stessa posizione del set di dati contenente le tabelle su cui stai eseguendo query. Dopo aver creato il set di dati, la posizione non può essere modificata. Il tuo i dati risiedono all'interno del tuo account AWS o Azure. Le regioni BigQuery Omni supportano le prenotazioni della versione Enterprise e i prezzi del calcolo (analisi) on demand. Per ulteriori informazioni sulle versioni, vedi Introduzione alle versioni di BigQuery.Descrizione regione | Nome regione | Regione BigQuery assegnata | |
---|---|---|---|
AWS | |||
AWS - Stati Uniti, costa orientale (Virginia del Nord) | aws-us-east-1 |
us-east4 |
|
AWS - US West (Oregon) | aws-us-west-2 |
us-west1 |
|
AWS - Asia Pacifico (Seul) | aws-ap-northeast-2 |
asia-northeast3 |
|
AWS - Asia Pacifico (Sydney) | aws-ap-southeast-2 |
australia-southeast1 |
|
AWS - Europa (Irlanda) | aws-eu-west-1 |
europe-west1 |
|
AWS - Europa (Francoforte) | aws-eu-central-1 |
europe-west3 |
|
Azure | |||
Azure - Stati Uniti orientali 2 | azure-eastus2 |
us-east4 |
Passaggi successivi
- Scopri come connetterti ad Amazon S3 e Archiviazione BLOB.
- Scopri come creare tabelle BigLake su Amazon S3 e Blob Storage.
- Scopri come eseguire query su Amazon S3 e Archiviazione BLOB Tavoli BigLake.
- Scopri come unire le tabelle BigLake di Amazon S3 e Blob Storage con le tabelle Google Cloud utilizzando le unioni cross-cloud.
- Scopri come esportare i risultati di query in Amazon S3 e Blob Storage.
- Scopri come trasferire dati da Amazon S3 e dall'archiviazione BLOB in BigQuery.
- Scopri come configurare il perimetro dei Controlli di servizio VPC.
- Scopri come specificare la tua posizione