Configurando il partizionamento e il clustering per la destinazione BigQuery, puoi ottimizzare le prestazioni delle query e controllare i costi. Il partizionamento e il clustering consentono di ridurre la quantità di dati che BigQuery deve scansionare durante l'esecuzione della query.
Partizionamento delle tabelle
Il partizionamento delle tabelle divide la tabella in segmenti denominati partizioni, che semplificano la gestione e l'esecuzione di query sui dati. Per partizionare le tabelle, specifica una colonna di partizionamento, che viene utilizzata per segmentare la tabella.
Datastream supporta tre tipi di partizionamento per le tabelle BigQuery:
Partizionamento per data di importazione: puoi partizionare una tabella in base all'ora in cui Datastream importa i dati in BigQuery. Puoi selezionare una granularità oraria, giornaliera, mensile o annuale per il partizionamento del tempo di importazione. Giornaliero è la granularità predefinita.
Partizionamento per unità di tempo: puoi partizionare una tabella in base a una colonna di origine di un tipo di dati che Datastream mappa a uno dei seguenti tipi di dati BigQuery:
DATE,DATETIMEoTIMESTAMP. Per informazioni su come Datastream mappa i tipi di dati di origine ai tipi di dati BigQuery, consulta Mappature dei tipi di dati in BigQuery.A seconda del tipo di dati BigQuery a cui è mappata la colonna di origine, puoi selezionare uno dei seguenti tipi di granularità:
DAY,MONTH,YEAR: per il tipo di datiDATE.HOUR,DAY,MONTH,YEAR: per i tipi di datiDATETIMEeTIMESTAMP.
Partizionamento per intervallo di numeri interi: puoi partizionare una tabella in base a una colonna di origine di un tipo di dati che Datastream mappa al tipo di dati
INTEGERdi BigQuery. Devi fornire le seguenti informazioni:- Inizio: il valore iniziale del primo intervallo di partizione (incluso).
- Fine: il valore finale dell'ultimo intervallo di partizione (escluso).
- Intervallo: la larghezza di ogni intervallo di partizione.
Per ulteriori informazioni, vedi Partizionamento dell'intervallo di numeri interi.
Per informazioni su come configurare il partizionamento per lo stream, vedi Configura le informazioni sul database di origine per lo stream.
Clustering delle tabelle
Il clustering ordina i dati in una tabella in base ai valori delle colonne di clustering e raggruppa i dati con valori simili. Le query che filtrano in base alle colonne in cluster eseguono la scansione solo dei blocchi di dati pertinenti anziché dell'intera tabella o partizione della tabella. Ciò può migliorare le prestazioni delle query e ridurre i costi associati.
Puoi raggruppare le tabelle BigQuery in cluster in base a un massimo di quattro colonne. L'ordine in cui specifichi le colonne determina l'ordinamento dei dati.
Puoi raggruppare una tabella in cluster in base a una colonna di origine di un tipo di dati che Datastream mappa a uno dei seguenti tipi di dati BigQuery:
BIGNUMERICBOOLEANDATEDATETIMEGEOGRAPHYINT64NUMERICRANGESTRINGTIMESTAMP
Per informazioni su come Datastream mappa i tipi di dati di origine ai tipi di dati BigQuery, consulta Mappature dei tipi di dati in BigQuery.
Per informazioni su come configurare il clustering per lo stream, vedi Configura le informazioni sul database di origine per lo stream.
Limitazioni
Per i limiti di partizionamento in BigQuery, consulta Introduzione alle tabelle partizionate.
Per le limitazioni del clustering in BigQuery, consulta Introduzione alle tabelle in cluster.
Per i limiti di quota applicati alle tabelle partizionate BigQuery, consulta Quote e limiti.
Inoltre, quando utilizzi Datastream, si applicano le seguenti limitazioni:
- Il partizionamento e il clustering vengono applicati solo quando Datastream crea una nuova tabella BigQuery. Se vuoi configurare o modificare le impostazioni di partizionamento e clustering per una tabella esistente, eliminala prima da BigQuery, poi configura o modifica le relative impostazioni in Datastream.
- Per le origini MongoDB, puoi partizionare le tabelle solo in base all'ora di importazione.
- Il clustering non è supportato per i database MongoDB.
Passaggi successivi
- Per scoprire di più sul partizionamento in BigQuery, consulta Introduzione alle tabelle partizionate e Gestione delle tabelle partizionate.
- Per saperne di più sul clustering in BigQuery, consulta Introduzione alle tabelle in cluster e Gestire le tabelle in cluster.
- Per scoprire di più sugli stream, consulta Ciclo di vita dello stream.
- Per scoprire come creare un flusso, consulta Crea un flusso.
- Per scoprire di più su BigQuery, consulta Destinazione BigQuery.