Panoramica del motore colonnare di Spanner

Questa pagina fornisce una panoramica del motore colonnare per Spanner e descrive come utilizzarlo.

I database operativi in genere estraggono, trasformano e caricano (ETL) i dati in un sistema OLAP per l'analisi. Questo sistema fa spesso parte di un data warehouse. Con Data Boost, Spanner separa già il calcolo analitico, il che garantisce la stabilità transazionale.

Il motore colonnare è una tecnica di archiviazione utilizzata dai sistemi di analisi per velocizzare le scansioni rispetto a quelle basate sui batch. Il motore colonnare di Spanner ti consente di eseguire analisi con prestazioni notevolmente migliorate sui dati operativi più recenti. Il motore colonnare di Spanner aumenta le prestazioni di scansione fino a 200 volte, eliminando la necessità di ETL e mantenendo elevata coerenza.

Il formato Ressi di Spanner utilizza un layout per colonne degli attributi di partizione (PAX) per scansioni efficienti all'interno di un blocco di dati. Tuttavia, questo formato colloca tutte le colonne di una riga all'interno di un determinato blocco per ricerche rapide di una sola riga. A differenza di Ressi, il motore a colonne di Spanner dedica le esecuzioni di blocchi a una singola colonna. Questo approccio è più efficiente per le scansioni sequenziali, in quanto Spanner deve leggere solo le colonne a cui viene fatto riferimento nella query.

Spanner crea la rappresentazione colonnare in background (come parte delle compattazioni) e la unisce automaticamente agli aggiornamenti più recenti al momento della query per fornire una elevata coerenzata. Le query che non trarrebbero vantaggio dall'archiviazione colonnare possono continuare a utilizzare PAX.

I workload che trarrebbero vantaggio dall'utilizzo del motore colonnare includono:

  • L'estrazione dei report operativi consente di ottenere informazioni di business intelligence aggiornate al secondo dai dati operativi più recenti.
  • Dashboard di analisi e livelli di analisi personalizzati con latenza interattiva.
  • L'analisi federata combina facilmente i dati di Spanner e di altre origini in BigQuery.

I backup delle istanze Spanner non includono il formato colonnare.

Best practice per l'utilizzo del motore colonnare

Questa sezione descrive le best practice per l'utilizzo del motore colonnare.

Ottimizzazione delle scansioni di grandi dimensioni

Il motore colonnare ottimizza le query che analizzano grandi quantità di dati. Per query o scansioni di dati più piccole con clausole LIMIT soddisfatte rapidamente, le scansioni basate sulle righe potrebbero essere più efficienti.

Colonne essenziali

Se utilizzi SELECT *, Spanner legge tutte le colonne dallo spazio di archiviazione colonnare. Per massimizzare il rendimento, specifica solo le colonne necessarie. Ad esempio, SELECT column1, column2 FROM ....

Identificazione dei colli di bottiglia delle prestazioni

Il motore colonnare è efficace per i carichi di lavoro associati alla scansione. Per identificare un carico di lavoro associato alla scansione, controlla il piano di query per un livello di latenza elevato nel nodo Scansione tabella. Se la query non è associata alla scansione, dai la priorità ad altre ottimizzazioni. Il motore colonnare può fornire vantaggi in un secondo momento se le ottimizzazioni rendono la query vincolata alla scansione.

Copertura ottimale delle colonne

Dopo aver abilitato il motore colonnare su un database che contiene già dati, il processo di compattazione automatica di Spanner converte i dati in spazio di archiviazione colonnare in modo asincrono in background. Per vedere i vantaggi della query, controlla la percentuale di lettura a colonne nel piano di query.

Gestione dei dati con tasso di abbandono elevato

Tassi di scrittura elevati dovuti ad aggiornamenti o inserimenti casuali possono influire sulle prestazioni del motore colonnare. I carichi di lavoro di sola aggiunta subiscono un impatto minimo dall'utilizzo del motore colonnare. La compattazione è un processo in background, che in genere viene distribuito su più giorni, ma può avvenire prima se le dimensioni del database aumentano in modo sostanziale. In alternativa, progetta lo schema in modo da favorire le scritture di sola aggiunta a livello di suddivisione. Per ulteriori informazioni, vedi sharding dei dati ordinati in base al timestamp in Spanner.

Prezzi

La fatturazione del motore colonnare Spanner si basa sull'utilizzo dello spazio di archiviazione. Dopo aver attivato il motore colonnare Spanner e Spanner completa la compattazione dei dati, l'utilizzo dello spazio di archiviazione aumenta per includere la nuova rappresentazione colonnare. Il motore colonnare fornisce metriche di archiviazione che ti consentono di monitorare l'impatto sull'archiviazione. Per maggiori informazioni, consulta la pagina Metriche di archiviazione dei dati in formato colonne.

Il motore colonnare di Spanner non è interessato all'overhead di 8 byte per cella.

Limitazioni dell'anteprima

  • Devi utilizzare hint espliciti per abilitare le letture per colonne per le query che esegui direttamente su Spanner o utilizzando BigQuery EXTERNAL_QUERY. Per maggiori informazioni, consulta Esecuzione di query sui dati in formato colonna.
  • Il motore colonnare supporta solo l'interfaccia GoogleSQL.
  • Le scansioni che non dispongono di filtri selettivi potrebbero mostrare un miglioramento minore.

Passaggi successivi