Panoramica dello spazio di archiviazione di BigQuery
In questa pagina viene descritto il componente di archiviazione di BigQuery.
Lo spazio di archiviazione BigQuery è ottimizzato per l'esecuzione di query analitiche su set di dati di grandi dimensioni. Supporta inoltre l'importazione di flussi di dati a velocità effettiva elevata con velocità effettiva elevata, Comprendere l'archiviazione di BigQuery può aiutarti per ottimizzare i carichi di lavoro.
Panoramica
Una delle caratteristiche principali dell'architettura di BigQuery è e separazione tra archiviazione e computing. Questo consente a BigQuery di scalare sia l'archiviazione che il computing in modo indipendente, in base alla domanda.
Quando esegui una query, il motore di query distribuisce il lavoro in parallelo su più worker, che eseguono la scansione delle tabelle pertinenti nello spazio di archiviazione, elaborano la query e raccolgono i risultati. BigQuery esegue le query completamente in memoria, utilizzando una rete di petabyte per assicurare uno spostamento dei dati estremamente rapido ai nodi worker.
Ecco alcune funzionalità chiave dello spazio di archiviazione BigQuery:
Gestita. L'archiviazione BigQuery è un servizio completamente gestito. Non è necessario eseguire il provisioning delle risorse di archiviazione o prenotare unità di archiviazione. BigQuery alloca automaticamente lo spazio di archiviazione quando carichi i dati nel sistema. Paghi solo la quantità di spazio di archiviazione che utilizzi. La Costi del modello di prezzi di BigQuery per computing e archiviazione separatamente. Per informazioni dettagliate sui prezzi, consulta Prezzi di BigQuery.
Robustezza. Lo spazio di archiviazione BigQuery è progettato per il 99,999999999% (119 secondi). BigQuery replica i tuoi dati in più zone di disponibilità, per evitare la perdita di dati dovuta all'impatto o errori a livello di zona. Per ulteriori informazioni, consulta Affidabilità: emergenza pianificazione.
Criptato. BigQuery cripta automaticamente tutti i dati prima viene scritto su disco. Puoi fornire la tua chiave di crittografia o lasciare che sia Google a gestirla. Per ulteriori informazioni, vedi Crittografia at-rest.
Efficiente. Lo spazio di archiviazione BigQuery utilizza una codifica efficiente ottimizzato per carichi di lavoro di analisi. Per scoprire di più sul formato di archiviazione di BigQuery, consulta il post del blog All'interno di Capacitor, il formato di archiviazione colonnare di nuova generazione di BigQuery.
Dati tabella
La maggior parte dei dati archiviati in BigQuery è una tabella e i dati di Google Cloud. I dati delle tabelle includono tabelle standard, cloni di tabelle, istantanee di tabelle e viste materializzate. Ti viene addebitato il costo dello spazio di archiviazione che utilizzi Google Cloud. Per ulteriori informazioni, vedi Prezzi dell'archiviazione.
Le tabelle standard contengono dati strutturati. Ogni evento ha uno schema e ogni colonna dello schema ha un tipo di dati. BigQuery archivia i dati in formato a colonne. Consulta Layout dello spazio di archiviazione in questo documento.
I cloni di tabelle sono leggeri e scrivibili delle tabelle standard. BigQuery archivia solo il delta tra un clone di tabelle e la relativa tabella di base.
Gli snapshot delle tabelle sono point-in-time o copie di tabelle. Gli snapshot delle tabelle sono di sola lettura, ma puoi ripristinare una tabella da uno snapshot della tabella. BigQuery archivia solo il delta tra e la relativa tabella di base.
Le viste materializzate sono precalcolate visualizzazioni che memorizzano periodicamente nella cache i risultati della query di visualizzazione. Nella cache vengono archiviati nello spazio di archiviazione di BigQuery.
Inoltre, i risultati delle query memorizzati nella cache vengono archiviati come e tabelle temporanee. Non ti viene addebitato alcun costo per i risultati delle query memorizzati nella cache e archiviati nelle tabelle temporanee.
Le tabelle esterne sono un tipo speciale di tabella. in cui i dati si trovano in un datastore esterno ad esempio Cloud Storage. Una tabella esterna ha uno schema, come una tabella standard, ma la definizione della tabella fa riferimento al datastore esterno. In questo caso, solo i metadati della tabella vengono conservati nello spazio di archiviazione BigQuery. BigQuery non addebita costi per di archiviazione esterna, anche se il datastore esterno potrebbe addebitarti archiviazione.
BigQuery organizza le tabelle e altre risorse in base di container chiamati set di dati. Come raggruppi i tuoi dati BigQuery le risorse influisce su autorizzazioni, quote, fatturazione e altri aspetti carichi di lavoro BigQuery. Per ulteriori informazioni e best practice, vedi Organizzazione delle risorse BigQuery.
Il criterio di conservazione dei dati utilizzato per una tabella è determinato dal del set di dati che contiene la tabella. Per saperne di più, consulta Conservazione dei dati con viaggio nel tempo e fail-safe.
Metadati
Lo spazio di archiviazione BigQuery include anche i metadati di risorse BigQuery. Non ti viene addebitato alcun costo per l'archiviazione dei metadati.
Quando crei un'entità permanente in BigQuery, ad esempio un tabella, visualizzazione o funzione definita dall'utente, BigQuery archivia metadati relativi all'entità. Ciò vale anche per le risorse che non contengono dati di qualsiasi tabella, come funzioni definite dall'utente e viste logiche.
I metadati includono informazioni come schema della tabella, partizionamento e specifiche di clustering, tempi di scadenza delle tabelle e altre informazioni. Questo di metadati è visibile all'utente e può essere configurato quando crei la risorsa. Inoltre, BigQuery archivia i metadati che utilizza internamente per ottimizzare le query. Questi metadati non sono visibili direttamente agli utenti.
Layout archiviazione
Molti sistemi di database tradizionali archiviano i propri dati in formato orientato alle righe, vale a dire che le righe sono archiviate insieme e i campi di ogni riga vengono visualizzati in sequenza su disco. I database orientati alle righe sono efficienti per la ricerca di singoli record. Tuttavia, possono essere meno efficienti nell'esecuzione di analisi funzioni in molti record, perché il sistema deve leggere ogni campo quando quando accede a un record.
BigQuery archivia i dati delle tabelle in formato a colonne, nel senso che memorizza ogni colonna separatamente. I database orientati a colonne sono particolarmente efficiente nella scansione di singole colonne su un intero set di dati.
I database orientati a colonne sono ottimizzati per i carichi di lavoro di analisi che aggregano i dati su un numero molto elevato di record. Spesso, una query di analisi deve solo leggere alcune colonne di una tabella. Ad esempio, se vuoi calcolare la somma di una colonna su milioni di righe, BigQuery può leggerla senza leggere ogni campo di ogni riga.
Un altro vantaggio dei database orientati a colonne è che i dati all'interno di una colonna di solito ha più ridondanza dei dati in una riga. Questa caratteristica consente per ottenere una maggiore compressione dei dati usando tecniche come la codifica run-length, che possono migliorare le prestazioni di lettura.
Modelli di fatturazione dello spazio di archiviazione
La fatturazione dello spazio di archiviazione dei dati di BigQuery può essere in byte logici o fisici (compressi) o in una combinazione di entrambi. Il modello di fatturazione dello spazio di archiviazione che scegli determina prezzi dello spazio di archiviazione. Il modello di fatturazione dello spazio di archiviazione non influisce sulle prestazioni di BigQuery. Qualunque sia il modello di fatturazione scelto, i dati vengono archiviati come byte fisici.
Imposti il modello di fatturazione dello spazio di archiviazione a livello di set di dati. Se non specifichi un modello di fatturazione dello spazio di archiviazione quando crei un set di dati, per impostazione predefinita utilizza la fatturazione dell'archiviazione logica. Tuttavia, puoi modificare il modello di fatturazione dello spazio di archiviazione di un set di dati dopo averlo creato. Se modifichi l'archiviazione di un set di dati devi attendere 14 giorni prima di poter modificare la fatturazione dello spazio di archiviazione del modello.
Quando modifichi il modello di fatturazione di un set di dati, sono necessarie 24 ore prima che per applicare la modifica. Qualsiasi tabella o partizione di tabella nello spazio di archiviazione a lungo termine non vengono reimpostate sullo spazio di archiviazione attivo quando modifichi il modello di fatturazione di un set di dati. Le prestazioni e la latenza delle query non sono influenzate dalla modifica del set di dati modello di fatturazione.
I set di dati utilizzano i viaggi nel tempo archiviazione non sicura per la conservazione dei dati. I viaggi nel tempo e lo spazio di archiviazione fail-safe vengono addebitati separatamente in base alle tariffe di archiviazione attive se utilizzi la fatturazione per lo spazio di archiviazione fisico, ma sei incluso nella tariffa base ti vengono addebitati i costi quando utilizzi la fatturazione dell'archiviazione logica. Puoi modificare lo spostamento cronologico utilizzata per un set di dati al fine di bilanciare i costi di archiviazione fisica e la conservazione dei dati. Non puoi modificare la finestra di sicurezza. Per ulteriori informazioni sulla conservazione dei dati dei set di dati, consulta Conservazione dei dati con viaggio nel tempo e fail-safe. Per ulteriori informazioni sulla previsione dei costi di archiviazione, vedi Prevedere la fatturazione dello spazio di archiviazione.
Non puoi registrare un set di dati per la fatturazione dello spazio di archiviazione fisico se la tua organizzazione ha qualsiasi legacy impegni di slot a costo fisso che si trovano nella stessa regione del set di dati. Questo non si applica agli impegni acquistato con una versione di BigQuery.
Ottimizza lo spazio di archiviazione
L'ottimizzazione dello spazio di archiviazione di BigQuery migliora le prestazioni delle query e
controlla i costi. Per visualizzare i metadati di archiviazione della tabella, esegui una query su quanto segue
INFORMATION_SCHEMA
visualizzazioni:
Per informazioni su come ottimizzare lo spazio di archiviazione, vedi Ottimizzare lo spazio di archiviazione in BigQuery.
Carica dati
Esistono diversi pattern di base per l'importazione di dati in in BigQuery.
Caricamento in batch: carica i dati di origine in una tabella BigQuery in con una singola operazione batch. Può essere un'operazione una tantum oppure puoi automatizzare affinché avvenga in base a una pianificazione. Un'operazione di caricamento in batch può creare una nuova tabella aggiungere dati a una tabella esistente.
Flusso di dati: invia continuamente batch di dati più piccoli, in modo che i dati vengano disponibili per l'esecuzione di query quasi in tempo reale.
Dati generati: utilizza le istruzioni SQL per inserire righe in una tabella esistente o scrivere i risultati di una query in una tabella.
Per ulteriori informazioni su quando scegliere ciascuno di questi metodi di importazione, consulta Introduzione al caricamento dei dati. Per informazioni sui prezzi, vedi Prezzi dell'importazione dati.
Leggi i dati dallo spazio di archiviazione BigQuery
La maggior parte delle volte archivi i dati in BigQuery per eseguire query analitiche sui dati. Tuttavia, potresti voler leggere i record direttamente da una tabella. BigQuery offre diversi modi per leggere i dati delle tabelle:
API BigQuery: Accesso sincrono impaginato con
tabledata.list
. I dati vengono letti in modo seriale, una pagina per chiamata. Per ulteriori informazioni, vedi Esplorare i dati della tabella.API BigQuery Storage: Accesso in modalità flusso ad alta velocità effettiva che supporta anche la colonna lato server la proiezione e i filtri. Le letture possono essere caricate in contemporanea tra molti lettori segmentandoli in più flussi separati.
Esporta: Copia asincrona ad alta velocità effettiva in Google Cloud Storage, con di estrazione dei job o
EXPORT DATA
. Se devi copiare i dati in Cloud Storage, esportali con un job di estrazione o con un'istruzioneEXPORT DATA
.Copia: creazione di una copia asincrona dei set di dati in BigQuery. La copia viene eseguita in modo logico quando la posizione di origine e di destinazione è la stessa.
Per le informazioni sui prezzi, consulta Prezzi dell'estrazione dei dati.
In base ai requisiti dell'applicazione, puoi leggere i dati della tabella:
- Lettura e copia: se hai bisogno di una copia at-rest in
in Cloud Storage, esporta i dati con un job di estrazione
Informativa
EXPORT DATA
. Se vuoi solo leggere i dati, utilizza l'API BigQuery Storage. Se vuoi creare una copia in BigQuery, quindi usa un job di copia. - Scalabilità: l'API BigQuery è il metodo meno efficiente e non dovrebbe
per letture ad alto volume. Se devi esportare più di 50 TB di
al giorno, usa l'istruzione
EXPORT DATA
o l'API BigQuery Storage. - Tempo per restituire la prima riga: l'API BigQuery è il metodo più veloce per restituisce la prima riga, ma dovrebbe essere utilizzato solo per leggere piccole quantità di e i dati di Google Cloud. L'API BigQuery Storage è più lenta a restituire la prima riga, ma ha un throughput molto più elevato. Le esportazioni e le copie devono terminare prima del giorno tutte le righe possono essere lette, quindi il tempo necessario per arrivare alla prima riga per questi tipi di job possono essere nell'ordine dei minuti.
Eliminazione
Quando elimini una tabella, i dati vengono mantenuti per almeno la durata del
finestra di spostamento cronologico. Dopodiché, i dati vengono puliti
dal disco all'interno
Tempistiche di eliminazione di Google Cloud.
Alcune operazioni di eliminazione, ad esempio
DROP COLUMN
,
sono operazioni basate solo su metadati. In questo caso, lo spazio di archiviazione viene liberato la volta successiva
modificherai le righe interessate. Se non modifichi la tabella,
garantito entro il quale viene liberato lo spazio di archiviazione. Per ulteriori informazioni, vedi
Eliminazione dei dati su Google Cloud.
Passaggi successivi
- Scopri di più su come lavorare con le tabelle.
- Scopri come ottimizzare lo spazio di archiviazione.
- Scopri come dati di query in BigQuery.
- Scopri di più su governance e sicurezza dei dati.