Panoramica dell'analisi di BigQuery
Questo documento descrive in che modo BigQuery elabora le query e fornisce una panoramica di diverse funzionalità utili per l'analisi dei dati.
BigQuery è ottimizzato per eseguire query analitiche su set di dati di grandi dimensioni, tra cui terabyte di dati in pochi secondi e petabyte in pochi minuti. Comprendere le sue funzionalità e il modo in cui elabora le query può aiutarti a massimizzare gli investimenti in analisi dei dati.
Per fare un tour delle funzionalità di analisi dei dati di BigQuery direttamente nella console Google Cloud, fai clic su Fai il tour.
Flussi di lavoro di analisi
BigQuery supporta diversi flussi di lavoro di analisi dei dati:
Analisi ad hoc. BigQuery utilizza GoogleSQL, il dialetto SQL in BigQuery, per supportare l'analisi ad hoc. Puoi eseguire query nella console Google Cloud o tramite strumenti di terze parti che si integrano con BigQuery.
Analisi geospaziali. BigQuery utilizza i tipi di dati geografici e le funzioni geografiche di Google SQL per consentirti di analizzare e visualizzare i dati geospaziali. Per informazioni su questi tipi di dati e funzioni, consulta Introduzione all'analisi geospaziale.
Machine learning. BigQuery ML utilizza query GoogleSQL per consentirti di creare ed eseguire modelli di machine learning (ML) in BigQuery.
Business intelligence. BigQuery BI Engine è un servizio di analisi in memoria rapido che consente di creare dashboard e report avanzati interattivi senza compromettere prestazioni, scalabilità, sicurezza o aggiornamento dei dati.
Query
L'unità di analisi principale in BigQuery è la query SQL. BigQuery ha due dialetti SQL: GoogleSQL e SQL precedente. GoogleSQL è il dialetto preferito. Supporta SQL:2011 e include estensioni che supportano l'analisi geospaziale o il ML.
Le sezioni seguenti descrivono in che modo BigQuery supporta ed esegue le query sui dati.
Origini dati
BigQuery ti consente di eseguire query sui seguenti tipi di origini dati:
Dati archiviati in BigQuery. Puoi caricare i dati in BigQuery per analizzarli. Puoi anche generare dati utilizzando istruzioni DML (Data Manipulation Language) o scrivendo i risultati delle query in una tabella. Puoi eseguire query sui dati archiviati in località con una o più regioni, ma non puoi eseguire una query su più località, anche se una è una località con una sola regione e l'altra è la località con più regioni contenente la località con una sola regione. Per ulteriori informazioni, consulta Località, prenotazioni e job.
Dati esterni. Puoi eseguire query su varie origini dati esterne, ad esempio altri servizi di archiviazione Google Cloud (come Cloud Storage) o servizi di database (come Spanner o Cloud SQL). Per informazioni su come configurare le connessioni alle origini esterne, consulta Introduzione alle origini dati esterne.
Dati multi-cloud. Puoi eseguire query sui dati archiviati in altri cloud pubblici come AWS o Azure. Per informazioni su come configurare le connessioni allo storage blob Amazon S3 o Azure, leggi un'introduzione a BigQuery Omni.
Set di dati pubblici. Se non disponi di dati personali, puoi analizzare uno qualsiasi dei set di dati disponibili nel marketplace dei set di dati pubblici.
Job di query
I job sono azioni eseguite da BigQuery per tuo conto per caricare i dati, esportare i dati, eseguire query sui dati o copiare i dati.
Quando utilizzi la console Google Cloud o lo strumento bq per eseguire uno di questi job, viene creata, pianificata ed eseguita automaticamente una risorsa job. Puoi anche creare in modo programmatico un job di caricamento, esportazione, query o copia. Quando crei un job in modo programmatico, BigQuery lo pianifica ed esegue per te.
Poiché il completamento dei job può richiedere molto tempo, vengono eseguiti in modo asincrono e possono essere sottoposti a polling per verificarne lo stato. Le azioni più brevi, come l'elenco delle risorse o l'ottenimento dei metadati, non sono gestite da una risorsa job.
Tipi di query
Puoi eseguire query sui dati BigQuery utilizzando uno dei seguenti tipi di job di query:
- Job di query interattive. Per impostazione predefinita, BigQuery esegue i job di query interattive (on demand) il prima possibile.
Job di query continua (anteprima). Con questi job, la query viene eseguita continuamente, consentendoti di analizzare i dati in entrata in BigQuery in tempo reale e poi di scrivere i risultati in una tabella BigQuery o di esportarli in Bigtable o Pub/Sub. Puoi utilizzare questa funzionalità per eseguire attività urgenti, come creare informazioni e intervenire immediatamente in base a queste, applicare l'inferenza di machine learning (ML) in tempo reale e creare pipeline di dati basate su eventi.
Esegui job di query batch. Con questi job, BigQuery mette in coda ogni query batch per tuo conto e poi avvia la query quando sono disponibili risorse inattive, in genere entro pochi minuti.
Puoi eseguire job di query utilizzando i seguenti metodi:
- Componi ed esegui una query nella console Google Cloud.
- Esegui il comando
bq query
nello strumento a riga di comando bq. - Chiama in modo programmatico il metodo
jobs.query
ojobs.insert
nell'API REST di BigQuery. - Utilizza le librerie client di BigQuery.
Query salvate e condivise
BigQuery ti consente di salvare le query e di condividerle con altri utenti.
Quando salvi una query, può essere privata (visibile solo a te), condivisa a livello di progetto (visibile a principianti specifici) o pubblica (visualizzabile da chiunque). Per ulteriori informazioni, consulta Utilizzare le query salvate.
Come BigQuery elabora le query
Quando BigQuery esegue una query, vengono eseguite diverse procedure:
Albero di esecuzione. Quando esegui una query, BigQuery genera un'albero di esecuzione che suddivide la query in fasi. Queste fasi contengono passaggi che possono essere eseguiti in parallelo.
Livello di riproduzione casuale. Le fasi comunicano tra loro utilizzando un livello di ordinamento distribuito e veloce che memorizza i dati intermedi prodotti dai worker di una fase. Se possibile, il livello di ordinamento sfrutta tecnologie come una rete in petabit e RAM per spostare rapidamente i dati sui nodi di lavoro.
Piano di query. Quando BigQuery dispone di tutte le informazioni di cui ha bisogno per eseguire una query, genera un piano di query. Puoi visualizzare questo piano nella console Google Cloud e utilizzarlo per risolvere i problemi o ottimizzare le prestazioni delle query.
Monitoraggio delle query e pianificazione dinamica. Oltre ai worker che eseguono il lavoro del piano di query stesso, altri worker monitorano e indirizzano l'avanzamento complessivo del lavoro in tutto il sistema. Man mano che la query avanza, BigQuery potrebbe modificare dinamicamente il piano di query per adattarsi ai risultati delle varie fasi.
Risultati delle query. Al termine di una query, BigQuery scrive i risultati nello spazio di archiviazione permanente e li restituisce all'utente. Questo design consente a BigQuery di fornire i risultati memorizzati nella cache la volta successiva che viene eseguita la query.
Concorrenza e prestazioni delle query
Le prestazioni delle query eseguite ripetutamente sugli stessi dati possono variare per via della natura condivisa dell'ambiente BigQuery o perché BigQuery regola dinamicamente il piano di query durante l'esecuzione. Per un sistema di solito in uso in cui molte query vengono eseguite contemporaneamente, BigQuery utilizza diversi processi per attenuare le variazioni nel rendimento delle query:
BigQuery esegue molte query in parallelo, quindi raramente è necessario mettere in coda le query.
Nei sistemi impegnati, le code sono una fonte importante di prestazioni meno prevedibili perché non è chiaro per quanto tempo una query potrebbe rimanere in coda. Il tempo di una query in coda può dipendere più da altre query in esecuzione o in coda che dalle qualità della query stessa.
Quando le query iniziano e terminano, BigQuery ridistribuisce equamente le risorse tra le query nuove ed eseguite. Questa procedura garantisce che il rendimento delle query non dipenda dall'ordine in cui vengono inviate, ma dal numero di query eseguite in un determinato momento.
Ottimizzazione delle query
Al termine della query, puoi
visualizzare il piano di query
nella console Google Cloud. Puoi anche richiedere i dettagli di esecuzione utilizzando le visualizzazioni INFORMATION_SCHEMA.JOBS*
o il metodo dell'API REST jobs.get
.
Il piano di query include dettagli sulle fasi e sui passaggi della query. Questi dettagli possono aiutarti a identificare i modi per migliorare le prestazioni delle query. Ad esempio, se noti una fase che scrive molto più output rispetto ad altre fasi, potrebbe significare che devi applicare un filtro all'inizio della query.
Per ulteriori informazioni sul piano query e sull'ottimizzazione delle query, consulta le seguenti risorse:
- Per scoprire di più sul piano di query e vedere esempi di come le informazioni sul piano possono aiutarti a migliorare le prestazioni delle query, consulta Piano di query e sequenza temporale.
- Per ulteriori informazioni sull'ottimizzazione delle query in generale, consulta Introduzione all'ottimizzazione del rendimento delle query.
Monitoraggio delle query
Il monitoraggio e il logging sono fondamentali per l'esecuzione di applicazioni affidabili nel cloud. I carichi di lavoro BigQuery non fanno eccezione, soprattutto se hanno volumi elevati o sono di importanza fondamentale. BigQuery fornisce varie metriche, log e viste dei metadati per aiutarti a monitorare l'utilizzo di BigQuery.
Per maggiori informazioni, consulta le seguenti risorse:
- Per informazioni sulle opzioni di monitoraggio in BigQuery, consulta Introduzione al monitoraggio di BigQuery.
- Per scoprire di più sui log di controllo e su come analizzare il comportamento delle query, consulta Log di controllo di BigQuery.
Prezzi delle query
BigQuery offre due modelli di determinazione dei prezzi per l'analisi:
- Prezzi on demand. Paghi per i dati analizzati dalle query. Hai una capacità di elaborazione delle query fissata per ogni progetto e il costo si basa sul numero di byte elaborati.
- Prezzi basati sulla capacità. Acquisti una capacità di elaborazione delle query dedicata.
Per informazioni sui due modelli di prezzi e per scoprire di più su come effettuare prenotazioni per i prezzi basati sulla capacità, consulta Introduzione alle prenotazioni.
Quote e controllo dei costi delle query
BigQuery applica le quote a livello di progetto alle query in esecuzione. Per informazioni sulle quote di query, consulta Quote e limiti.
Per controllare i costi delle query, BigQuery offre diverse opzioni, tra cui quote personalizzate e avvisi di fatturazione. Per scoprire di più, consulta la sezione Creare controlli dei costi personalizzati.
Funzionalità di analisi dei dati
BigQuery supporta sia l'analisi descrittiva sia quella predittiva. Per eseguire query direttamente sui dati per rispondere ad alcune domande statistiche, puoi utilizzare la console Google Cloud. Per esplorare visivamente i dati, ad esempio per individuare tendenze e anomalie, puoi utilizzare strumenti come Tableau o Looker che si integrano con BigQuery.
BigQuery Studio
BigQuery Studio ti aiuta a scoprire, analizzare ed eseguire inferenze sui dati in BigQuery con le seguenti funzionalità:
- Un solido editor SQL che fornisce il completamento del codice, la convalida delle query e la stima dei byte elaborati.
- Notebook Python incorporati creati utilizzando Colab Enterprise. Notebooks forniscono runtime di sviluppo Python con un solo clic e supporto integrato per BigQuery DataFrames.
- Un editor PySpark che ti consente di creare procedure Python archiviate per Apache Spark.
- Gestione degli asset e cronologia delle versioni per gli asset di codice, come i notebook e le query salvate, basati su Dataform.
- Sviluppo di codice di assistenza nell'editor SQL e nei notebook, basato su AI generativa di Gemini (anteprima).
- Funzionalità di Dataplex per la scoperta dei dati, la profilazione dei dati e le analisi della qualità dei dati.
- La possibilità di visualizzare la cronologia dei job in base all'utente o al progetto.
- La possibilità di analizzare i risultati delle query salvate collegandosi ad altri strumenti come Looker e Fogli Google ed esportarli per utilizzarli in altre applicazioni.
BigQuery ML
BigQuery ML consente di utilizzare SQL in BigQuery per eseguire analisi predittiva e di machine learning (ML). Per ulteriori informazioni, consulta Introduzione a BigQuery ML.
Integrazione di strumenti di analisi
Oltre a eseguire query in BigQuery, puoi analizzare i tuoi dati con vari strumenti di analisi e business intelligence che si integrano con BigQuery, ad esempio:
Looker. Looker è una piattaforma aziendale per business intelligence, applicazioni di dati e analisi incorporate. La piattaforma Looker è compatibile con molti datastore, tra cui BigQuery. Per informazioni su come collegare Looker a BigQuery, consulta Utilizzare Looker.
Looker Studio. Dopo aver eseguito una query, puoi avviare Looker Studio direttamente da BigQuery nella console Google Cloud. In Looker Studio puoi creare visualizzazioni ed esplorare i dati restituiti dalla query. Per informazioni su Looker Studio, consulta la panoramica di Looker Studio.
Fogli connessi. Puoi anche avviare Fogli connessi direttamente da BigQuery nella console. Fogli connessi esegue le query su BigQuery per tuo conto su tua richiesta o in base a una pianificazione definita. I risultati di queste query vengono salvati nel foglio di lavoro per l'analisi e la condivisione. Per informazioni su Fogli connessi, consulta Utilizzare Fogli connessi.
Integrazione di strumenti di terze parti
Diversi strumenti di analisi di terze parti funzionano con BigQuery. Ad esempio, puoi collegare Tableau ai dati di BigQuery e utilizzare i relativi strumenti di visualizzazione per analizzare e condividere la tua analisi. Per ulteriori informazioni sulle considerazioni da tenere presenti quando utilizzi strumenti di terze parti, consulta Integrazione di strumenti di terze parti.
I driver ODBC e JDBC sono disponibili e possono essere utilizzati per integrare la tua applicazione con BigQuery. Lo scopo di questi driver è aiutare gli utenti a sfruttare la potenza di BigQuery con gli strumenti e l'infrastruttura esistenti. Per informazioni sull'ultima release e sui problemi noti, consulta Driver ODBC e JDBC per BigQuery.
Le librerie Pandas come pandas-gbq
ti consentono di interagire con i dati di BigQuery nei Jupyter Notebook. Per informazioni su questa libreria e sul suo confronto con l'utilizzo della libreria client Python di BigQuery, consulta Confronto con pandas-gbq
.
Puoi utilizzare BigQuery anche con altri blocchi note e strumenti di analisi. Per ulteriori informazioni, consulta Strumenti di analisi programmatica.
Per un elenco completo dei partner di BigQuery Analytics e di altre tecnologie, consulta l'elenco Partner nella pagina del prodotto BigQuery.
Passaggi successivi
- Per un'introduzione e una panoramica delle istruzioni SQL supportate, consulta Introduzione a SQL in BigQuery.
- Per informazioni sulla sintassi GoogleSQL utilizzata per eseguire query sui dati in BigQuery, consulta Sintassi delle query in GoogleSQL.
- Per informazioni su come leggere la spiegazione del piano di query, consulta Utilizzare la spiegazione del piano di query.
- Per scoprire come pianificare una query ricorrente, consulta Pianificare le query.