Panoramica dell'analisi di BigQuery

Questo documento descrive come BigQuery elabora le query e fornisce una panoramica di diverse funzionalità utili per l'analisi dei dati.

BigQuery è ottimizzato per eseguire query analitiche su grandi set di dati, tra cui terabyte di dati in pochi secondi e petabyte in minuti. Capire le sue funzionalità e il modo in cui elabora le query può aiutarti a massimizzare gli investimenti nell'analisi dei dati.

Per un tour delle funzionalità di analisi dei dati di BigQuery direttamente nella console Google Cloud, fai clic su Fai il tour.

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 di BigQuery, per supportare analisi ad hoc. Puoi eseguire le query nella console Google Cloud o tramite strumenti di terze parti che si integrano con BigQuery.

  • Analisi geospaziale. BigQuery utilizza tipi di dati geografici e le funzioni geografiche di GoogleSQL 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 le query GoogleSQL per 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 completi e interattivi senza compromettere prestazioni, scalabilità, sicurezza o aggiornamento dei dati.

Query

L'unità principale di analisi 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 ML.

Le seguenti sezioni 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 dati in BigQuery per l'analisi. 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à a una o più regioni, ma non puoi eseguire una query su più località anche se una è una località a una singola regione e l'altra è la località a più regioni contenente quella località con una sola regione. Per ulteriori informazioni, consulta Località, prenotazioni e job.

  • Dati esterni. Puoi eseguire query su varie origini dati esterne come altri servizi di archiviazione di Google Cloud (come Cloud Storage) o servizi di database (come Spanner o Cloud SQL). Per informazioni su come configurare le connessioni a 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 ad Amazon S3 o all'archiviazione BLOB di Azure, leggi un'introduzione a BigQuery Omni.

  • Set di dati pubblici. Se non disponi di dati proprietari, puoi analizzare tutti i set di dati disponibili nel mercato dei set di dati pubblici.

Job di query

I job sono azioni che BigQuery esegue per tuo conto allo scopo di caricare dati, esportare dati, eseguire query o copiare dati.

Quando utilizzi la console Google Cloud o lo strumento bq per eseguire uno di questi job, una risorsa job viene creata, pianificata ed eseguita automaticamente. Puoi anche creare un job di caricamento, esportazione, query o copia in modo programmatico. Quando crei un job in modo programmatico, BigQuery pianifica ed esegue il job per te.

Poiché i job possono richiedere molto tempo per essere completati, i job vengono eseguiti in modo asincrono e possono essere sottoposti a sondaggi per verificarne lo stato. Le azioni più brevi, come elencare le risorse o ottenere metadati, non sono gestite da una risorsa job.

Tipi di query

Dopo aver caricato i dati in BigQuery, puoi eseguire query sui dati utilizzando uno dei seguenti tipi di job:

  • Job di query interattivi: Per impostazione predefinita, BigQuery esegue job di query interattivi (on demand) il prima possibile.
  • Job di query batch: Con questi job, BigQuery mette in coda ogni query batch per tuo conto e quindi avvia la query quando sono disponibili risorse inattive, solitamente entro pochi minuti.

Puoi eseguire job di query interattivi o batch utilizzando i seguenti metodi:

Query salvate e condivise

BigQuery ti consente di salvare le query e condividerle con altri utenti.

Quando salvi una query, questa può essere privata (visibile solo a te), condivisa a livello di progetto (visibile a entità specifiche) o pubblica (chiunque può visualizzarla). Per ulteriori informazioni, consulta Lavorare con le query salvate.

In che modo BigQuery elabora le query

Quando BigQuery esegue una query, si verificano diversi processi:

  • Albero delle esecuzioni. Quando esegui una query, BigQuery genera un albero di esecuzione che suddivide la query in più fasi. Queste fasi contengono passaggi che possono essere eseguiti in parallelo.

  • Livello di shuffling. Le fasi comunicano tra loro utilizzando un livello di shuffling rapido e distribuito che archivia i dati intermedi prodotti dai worker di una fase. Quando possibile, il livello di shuffle sfrutta tecnologie come rete petabit e RAM per spostare rapidamente i dati nei nodi worker.

  • Piano di query. Quando BigQuery dispone di tutte le informazioni necessarie 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. Con l'avanzamento della query, BigQuery potrebbe modificare in modo dinamico il piano di query per adattarsi ai risultati delle varie fasi.

  • Risultati delle query. Al termine di una query, BigQuery scrive i risultati nell'archiviazione permanente e li restituisce all'utente. Questa struttura consente a BigQuery di fornire risultati memorizzati nella cache alla successiva esecuzione della query.

Contemporaneità e prestazioni delle query

Le prestazioni delle query eseguite ripetutamente sugli stessi dati possono variare di alcuni millisecondi. Le variazioni delle prestazioni possono verificarsi a causa della natura condivisa dell'ambiente BigQuery o perché BigQuery modifica dinamicamente il piano di query durante l'esecuzione della query. Per un tipico sistema occupato in cui molte query vengono eseguite contemporaneamente, BigQuery utilizza diversi processi per eliminare le differenze di prestazioni delle query:

  • Poiché BigQuery esegue molte query in parallelo, è raro che sia necessario metterle in coda.

    Nei sistemi affollati, le code sono una fonte importante di prestazioni meno prevedibili, perché non è chiaro per quanto tempo una query potrebbe rimanere in coda. Il tempo in cui una query rimane in coda può dipendere più da altre query in esecuzione o in coda che dalle qualità della query stessa.

  • All'inizio e alla fine delle query, BigQuery ridistribuisce le risorse in modo equo tra query nuove e in esecuzione. In questo modo, le prestazioni delle query non dipendono dall'ordine in cui vengono inviate le query, 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 dell'esecuzione utilizzando le viste INFORMATION_SCHEMA.JOBS* o il metodo dell'API REST jobs.get.

Il piano di query include dettagli sulle fasi e sui passaggi delle query. Questi dettagli possono aiutarti a identificare modi per migliorare le prestazioni delle query. Ad esempio, se noti una fase che scrive molto più output rispetto alle altre, potrebbe significare che devi applicare un filtro prima nella query.

Per ulteriori informazioni sul piano di query e sull'ottimizzazione delle query, consulta le seguenti risorse:

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 i carichi di lavoro sono volumi elevati o sono mission critical. BigQuery offre varie metriche, log e visualizzazioni dei metadati per aiutarti a monitorare il tuo utilizzo di BigQuery.

Per maggiori informazioni, consulta le seguenti risorse:

Prezzi delle query

BigQuery offre due modelli di determinazione dei prezzi per l'analisi:

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 controlli dei costi di query

BigQuery applica le quote a livello di progetto sulle query in esecuzione. Per informazioni sulle quote delle query, consulta Quote e limiti.

Per controllare i costi delle query, BigQuery offre diverse opzioni, tra cui quote personalizzate e avvisi di fatturazione. Per saperne di più, consulta Creazione di controlli dei costi personalizzati.

Funzionalità di analisi dei dati

BigQuery supporta l'analisi descrittiva e predittiva. Per eseguire query direttamente sui dati in modo da rispondere ad alcune domande statistiche, puoi utilizzare la console Google Cloud. Per esplorare visivamente i dati, ad esempio per tendenze e anomalie, puoi utilizzare strumenti come Tableau o Looker che si integrano con BigQuery.

BigQuery Studio

BigQuery Studio consente di scoprire, analizzare ed eseguire l'inferenza sui dati in BigQuery con le seguenti funzionalità:

Per utilizzare BigQuery Studio, segui le istruzioni indicate in Abilitare BigQuery Studio per la gestione degli asset. Questo processo consente le seguenti API:

  • API Compute Engine: necessaria per eseguire le funzioni Python nel progetto.
  • API Dataform: necessaria per archiviare gli asset di codice, ad esempio i file di blocco note.
  • API Vertex AI: necessaria per eseguire blocchi note Colab Enterprise Python in BigQuery.

BigQuery ML

BigQuery ML consente di usare SQL in BigQuery per eseguire il machine learning (ML) e l'analisi predittiva. Per ulteriori informazioni, consulta Introduzione a BigQuery ML.

Integrazione degli strumenti di analisi

Oltre a eseguire query in BigQuery, puoi analizzare i dati con vari strumenti di analisi e business intelligence che si integrano con BigQuery, tra cui:

  • Looker. Looker è una piattaforma aziendale per business intelligence, applicazioni di dati e analisi incorporate. La piattaforma Looker funziona con numerosi datastore, tra cui BigQuery. Per informazioni su come connettere Looker a BigQuery, consulta Utilizzo di Looker.

  • Looker Studio. Dopo aver eseguito una query, puoi avviare Looker Studio direttamente da BigQuery nella console Google Cloud. Poi, 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 query di 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 suoi strumenti di visualizzazione per analizzare e condividere le tue analisi. Per ulteriori informazioni sull'utilizzo di 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 sulla release più recente e sui problemi noti, consulta la sezione Driver ODBC e JDBC per BigQuery.

Le librerie Pandas come pandas-gbq ti consentono di interagire con i dati di BigQuery nei blocchi note Jupyter. Per informazioni su questa libreria e sul confronto con l'utilizzo della libreria client Python di BigQuery, consulta il Confronto con pandas-gbq.

Puoi anche usare BigQuery con altri blocchi note e strumenti di analisi. Per ulteriori informazioni, consulta Strumenti di analisi programmatica.

Per un elenco completo dei dati analitici di BigQuery e dei partner tecnologici più ampi, consulta l'elenco Partner nella pagina del prodotto BigQuery.

Passaggi successivi