Panoramica dello spazio di archiviazione di BigQuery

In questa pagina viene descritto il componente di archiviazione di BigQuery.

L'archiviazione BigQuery è ottimizzata per l'esecuzione di query analitiche su e grandi set di dati. 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.

Architettura di BigQuery
Figura 1. architettura di BigQuery.

Quando esegui una query, il motore di query distribuisce il lavoro in parallelo tra più worker, che analizzano le tabelle pertinenti nello spazio di archiviazione, elaborano la query per poi raccogliere 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 i dettagli sui prezzi, vedi Prezzi di BigQuery.

  • Robustezza. Lo spazio di archiviazione BigQuery è progettato per il 99,999999999% (11 9's) di durabilità annuale. 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 gestire la chiave di crittografia. 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, vedi il blog post Inside Capacitor, il formato di archiviazione a colonne 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, snapshot delle 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 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 contiene una tabella schema, proprio come una tabella standard, ma la definizione della tabella rimanda allo un datastore esterno. In questo caso, vengono conservati solo i metadati della tabella 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 delle 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 ulteriori informazioni, consulta Conservazione dei dati con viaggi nel tempo e sicurezza informatica.

Metadati

Lo spazio di archiviazione BigQuery include anche i metadati di risorse BigQuery. L'archiviazione dei metadati non prevede alcun addebito.

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 quali 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 nel cercare 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.

Formato orientato alle righe
Figura 2. Formato orientato alle righe.

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 carichi di lavoro di analisi che aggregano dati su un numero molto elevato di record. Spesso, una query analitica ha bisogno 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.

Formato orientato alle colonne
Figura 3. Formato orientato alle colonne.

Modelli di fatturazione dello spazio di archiviazione

Ti possono essere addebitati costi per l'archiviazione dei dati BigQuery byte fisici (compressi) o 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. Qualsiasi fatturazione modello scelto, i dati vengono archiviati come byte fisici.

Il modello di fatturazione dello spazio di archiviazione viene impostato a livello del 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 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, vedi Conservazione dei dati con viaggi nel tempo e sicurezza informatica. 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 ognuno di questi metodi di importazione, vedi 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 in Cloud Storage, esporta i dati con un job di estrazione EXPORT DATA.

  • Testo: Copia asincrona dei set di dati all'interno di BigQuery. La copia avviene in modo logico quando la località di origine e quella di destinazione sono le stesse.

Per informazioni sui prezzi, vedi 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 e poi usare 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 nel restituire la prima ma ha una velocità effettiva molto più elevata. 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