Ottimizza lo spazio di archiviazione in BigQuery

Questa pagina fornisce le best practice per ottimizzare BigQuery archiviazione. BigQuery archivia i dati in formato a colonne. Orientata alle colonne sono ottimizzati per carichi di lavoro analitici che aggregano i dati in un un numero elevato di record. Poiché le colonne hanno in genere più ridondanza rispetto alle righe, questa caratteristica consente una maggiore compressione dei dati grazie a tecniche come come codifica di esecuzione. Per saperne di più su come BigQuery immagazzina i dati, consulta Panoramica dello spazio di archiviazione BigQuery. L'ottimizzazione dello spazio di archiviazione BigQuery migliora le prestazioni delle query e controlla i costi.

BigQuery fornisce i dettagli sul consumo dello spazio di archiviazione Google Cloud. Per visualizzare i metadati di archiviazione della tabella, esegui una query sulle seguenti viste di INFORMATION_SCHEMA:

Dati tabella cluster

Best practice: crea tabelle in cluster.

Per ottimizzare l'archiviazione per le query, inizia mediante il clustering dei dati delle tabelle. Raggruppando in cluster le colonne utilizzate di frequente, puoi ridurre il volume totale di dati sottoposti a scansione dalla query. Per informazioni su come creare cluster, consulta Creare e utilizzare tabelle in cluster.

Dati della tabella di partizione

Best practice: suddividi le tabelle di grandi dimensioni con le partizioni.

Con le partizioni, puoi raggruppare e ordinare i dati in base a un insieme di caratteristiche di colonna definite, ad esempio una colonna di dati interi, una colonna di unità di tempo o la data di importazione. Il partizionamento migliora le prestazioni e il controllo delle query riducendo il numero di byte letti da una query.

Per ulteriori informazioni sulle partizioni, consulta Introduzione alle tabelle partizionate.

Utilizzare le impostazioni di scadenza della tabella e della partizione

Best practice: per ottimizzare lo spazio di archiviazione, configura la scadenza predefinita per i set di dati, tabelle, e tabelle partizionate.

Puoi controllare i costi di archiviazione e ottimizzare l'utilizzo dello spazio di archiviazione impostando la scadenza predefinita della tabella per le tabelle appena create in un set di dati. Quando una tabella scade, viene eliminata insieme a tutti i dati in essa contenuti. Se imposti la proprietà al momento della creazione del set di dati, tutte le tabelle create nel set di dati vengono eliminate al termine del periodo di scadenza. Se imposti la proprietà dopo la creazione del set di dati, solo le nuove tabelle vengono eliminate dopo il periodo di scadenza.

Ad esempio, se imposti la scadenza predefinita per la tabella su sette giorni, i dati meno recenti vengono eliminati automaticamente dopo una settimana.

Questa opzione è utile se devi accedere solo ai dati più recenti. È è utile anche se stai sperimentando i dati e non hai bisogno di conservarli.

Se le tabelle sono partizionate per data, la scadenza predefinita della tabella del set di dati alle singole partizioni. Puoi anche controllare la scadenza della partizione utilizzando il flag time_partitioning_expiration nello strumento a riga di comando bq oppure l'impostazione di configurazione expirationMs nell'API. Quando una partizione scade, i dati al suo interno vengono eliminati, ma la tabella partizionata non viene eliminata anche se è vuota. Ad esempio, il seguente comando fa scadere le partizioni dopo tre giorni:

bq mk \
--time_partitioning_type=DAY \
--time_partitioning_expiration=259200 \
project_id:dataset.table

Utilizza l'archiviazione a lungo termine di BigQuery

Best practice: usa lo spazio di archiviazione a lungo termine di BigQuery per ridurre il costo dei dati meno recenti.

Quando carichi i dati nello spazio di archiviazione BigQuery, questi sono soggetti a Prezzi di archiviazione di BigQuery. Anziché esportare i dati meno recenti in un'altra opzione di archiviazione (ad esempio Cloud Storage), puoi sfruttare BigQuery dei costi di archiviazione a lungo termine.

Se una tabella non viene modificata per 90 giorni consecutivi, il relativo prezzo di archiviazione si riduce automaticamente del 50%. Se hai una tabella partizionata, ogni partizione viene considerata separatamente per l'idoneità ai prezzi a lungo termine, in base alle stesse regole delle tabelle non partizionate.

Configura il modello di fatturazione dello spazio di archiviazione

Best practice: ottimizza il modello di fatturazione dello spazio di archiviazione in base ai tuoi modelli di utilizzo.

BigQuery supporta la fatturazione dello spazio di archiviazione utilizzando una logica (non compressa) byte fisici (compressi) o una combinazione di entrambi. La modello di fatturazione dello spazio di archiviazione configurato per ogni set di dati determina il prezzo dello spazio di archiviazione, ma non influire sulle prestazioni delle query.

Puoi utilizzare le visualizzazioni INFORMATION_SCHEMA per determinare il modello di fatturazione dello spazio di archiviazione più adatto in base ai tuoi pattern di utilizzo.

Identificare i dati a lungo o a breve termine

Best practice: identifica se i dati a livello di riga devono essere archiviati a lungo termine archiviare solo dati aggregati a lungo termine.

In molti casi, i dettagli contenuti nei dati transazionali o a livello di riga sono utili sul breve termine, ma vengono utilizzati meno nel lungo termine. In queste puoi creare query di aggregazione per calcolare e archiviare le metriche associati a questi dati e poi usare la scadenza della tabella o della partizione rimuovere sistematicamente i dati a livello di riga. In questo modo si riducono i costi di archiviazione mantenendo le metriche disponibili per il consumo a lungo termine.

Ridurre la finestra di spostamento nel tempo

Best practice:in base alle tue esigenze, puoi ridurre la finestra di spostamento cronologico.

Ridurre il valore predefinito della finestra di viaggio cronologico di sette giorni riduce il periodo di conservazione dei dati eliminati o modificati in un tabella. Ti vengono addebitati i costi per lo spazio di archiviazione di Time-Travel solo se utilizzi il modello di fatturazione dello spazio di archiviazione fisico (compresso).

La finestra di spostamento cronologico è impostata a livello del set di dati.

Archivia i dati in Cloud Storage

Best practice: valuta la possibilità di archiviare i dati in Cloud Storage.

Puoi spostare i dati da BigQuery a Cloud Storage in base alle esigenze aziendali di archiviazione. Come best practice, valuta i prezzi a lungo termine di BigQuery prima di esportare i dati da BigQuery.

Passaggi successivi