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 molti 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 ulteriori informazioni su come BigQuery archivia i dati, consulta Panoramica dello spazio di archiviazione di BigQuery. L'ottimizzazione dello spazio di archiviazione di BigQuery migliora prestazioni della 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. Tramite clustering utilizzate di frequente, puoi ridurre il volume totale dei dati analizzati query. Per informazioni su come creare cluster, consulta Crea e utilizza tabelle in cluster.

Dati della tabella di partizione

Best practice:dividi 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, ad esempio una colonna di numeri interi, una colonna di unità di tempo o in fase di importazione. Il partizionamento migliora le prestazioni e il controllo delle query riducendo il numero di byte letti da una query.

Per saperne di più sulle partizioni, consulta Introduzione alle tabelle partizionate.

Utilizza le impostazioni per la scadenza di tabelle e partizioni

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 il valore predefinito per le tabelle appena create in un set di dati. Quando una tabella scade, questo viene eliminato insieme a tutti i dati contenuti nella tabella. Se imposti la proprietà quando viene creato il set di dati, qualsiasi tabella creata nel set di dati eliminati dopo il periodo di scadenza. Se imposti la proprietà dopo il set di dati , vengono eliminate solo le nuove tabelle 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 hai bisogno di accedere solo ai dati più recenti. È è utile anche se stai sperimentando 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 nella partizione vengono eliminati, ma la tabella partizionata non viene se la tabella è 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 hai una tabella che non viene modificata per 90 giorni consecutivi, il prezzo di archiviazione per quella tabella si riduce automaticamente del 50%. Se disponi di un tabella partizionata, ogni partizione è considerata separatamente per l'idoneità dei prezzi a lungo termine, soggetti 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 al tuo utilizzo pattern.

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 viste INFORMATION_SCHEMA per determinare il modello di fatturazione dello spazio di archiviazione che funziona meglio 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 nel lungo periodo.

In molti casi, i dettagli contenuti nei dati transazionali o a livello di riga sono utili. a breve termine, ma vi si fa riferimento meno nel lungo termine. In queste in situazioni diverse, 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 cronologico

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 . Ti viene addebitato il costo per l'archiviazione dei viaggi nel tempo solo se utilizzi il file fisico (compresso) modello di fatturazione dello spazio di archiviazione.

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 dati da BigQuery a Cloud Storage in base alle esigenze aziendali di archiviazione. Come best practice, considera Prezzi a lungo termine di BigQuery prima di esportare i dati da BigQuery.

Passaggi successivi