Panoramica dello spazio di archiviazione a livelli

Questa pagina descrive e spiega come funziona l'archiviazione a più livelli in Spanner. Questa funzionalità è supportata sia nei database con dialetto GoogleSQL sia in quelli con dialetto PostgreSQL.

L'archiviazione a livelli di Spanner è una funzionalità di archiviazione completamente gestita che ti consente di scegliere se archiviare i dati su unità a stato solido (SSD) o su dischi rigidi (HDD). Per impostazione predefinita, quando non utilizzi l'archiviazione a livelli, i tuoi dati vengono archiviati su un SSD. A seconda della frequenza con cui utilizzi o accedi ai dati, potresti prendere in considerazione l'utilizzo dell'archiviazione a livelli e l'archiviazione dei dati sia su SSD che su HDD.

  • L'archiviazione SSD è la scelta più performante (più query al secondo) e conveniente per la maggior parte dei casi d'uso. Devi utilizzarlo per archiviare dati attivi con un throughput di lettura e scrittura elevato e dati che richiedono un accesso a bassa latenza.
  • L'archiviazione HDD è talvolta appropriata per set di dati di grandi dimensioni che non sono sensibili alla latenza, a cui si accede di rado o se il costo dell'archiviazione è un aspetto importante da considerare.

L'utilizzo dell'archiviazione a livelli consente di sfruttare sia l'archiviazione SSD, che supporta le alte prestazioni dei dati attivi, sia l'archiviazione HDD, che supporta l'accesso ai dati non frequente a un costo inferiore.

Scegliere tra l'archiviazione SSD e HDD

La seguente tabella elenca le differenze e le similitudini tra l'archiviazione SSD e HDD. In caso di dubbi, ti consigliamo di scegliere l'archiviazione SSD.

Archiviazione SSD Archiviazione HDD
Casi d'uso target Dati che richiedono un throughput di scrittura e lettura elevato e un accesso ai dati a bassa latenza Set di dati di grandi dimensioni che non sono sensibili alla latenza o a cui si accede di rado
Velocità effettiva prevista per nodo
Configurazioni regionali
Fino a 22.500 QPS in lettura
Fino a 3500 QPS in scrittura
Fino a 1500 QPS in lettura
Fino a 3500 QPS in scrittura
Velocità effettiva prevista per nodo
Configurazioni a due regioni e multiregionali
Fino a 15.000 QPS di lettura per regione
Fino a 2700 QPS di scrittura
Fino a 1000 QPS di lettura per regione
Fino a 2700 QPS di scrittura
Operazioni supportate Lettura, scrittura, aggiornamento ed eliminazione Lettura, scrittura, aggiornamento ed eliminazione

Utilizza le scritture ottimizzate per il throughput per aumentare il throughput di scrittura oltre i numeri nella tabella. Per ulteriori informazioni, vedi Panoramica del rendimento.

Vantaggi

L'archiviazione a livelli offre i seguenti vantaggi consentendoti di utilizzare l'archiviazione SSD e HDD:

  • Riduzione significativa del costo totale di proprietà: l'archiviazione HDD offre un'opzione a costo inferiore per i set di dati di grandi dimensioni che non sono sensibili alla latenza o a cui si accede raramente.
  • Facilità di gestione: fornisce un servizio di tiering completamente gestito senza la complessità di pipeline aggiuntive e logica di suddivisione.
  • Esperienza unificata e coerente: fornisce un accesso ai dati unificato e un unico insieme di metriche per i dati attivi e freddi (modificabili)
  • Rendimento migliorato: migliora il rendimento delle query organizzando i dati in un gruppo di località diverso, che fornisce località e isolamento dei dati tra le colonne. I dati nello stesso gruppo di località vengono archiviati fisicamente vicini.

Come funziona l'archiviazione a livelli

Per impostazione predefinita, quando crei una nuova istanza, i dati vengono archiviati solo nell'archiviazione SSD. Analogamente, anche i dati nelle istanze esistenti vengono archiviati solo su spazio di archiviazione SSD.

Se scegli di utilizzare l'archiviazione a livelli per archiviare alcuni dati nell'archiviazione HDD, devi creare un gruppo di località, che viene utilizzato per definire il criterio di archiviazione a livelli per i dati nello schema. Quando crei un gruppo di località, puoi definire il tipo di archiviazione, ssd o hdd. Se vuoi, puoi anche definire il periodo di tempo in cui i dati vengono archiviati nell'archiviazione SSD prima di essere spostati nell'archiviazione HDD. Trascorso il periodo di tempo specificato, Spanner esegue la migrazione dei dati allo spazio di archiviazione HDD durante il normale ciclo di compattazione, che in genere si verifica nell'arco di sette giorni a partire dal momento specificato. Questo meccanismo è noto come policy di archiviazione a più livelli basata sull'età. Quando utilizzi una policy di archiviazione a livelli basata sull'età, la quantità minima di tempo in cui i dati devono essere archiviati su SSD prima di essere spostati nell'archiviazione HDD è di un'ora.

Una volta definiti i gruppi di località, quando crei le tabelle, puoi impostare i criteri di archiviazione a livelli a livello di database, tabella, colonna o indice secondario. La norma di archiviazione a livelli determina come e dove vengono archiviati i dati. Per istruzioni, vedi Creare e gestire i gruppi di località.

Backup e ripristino

Puoi eseguire il backup e il ripristino dei dati utilizzando i backup di Spanner. Il backup contiene tutte le informazioni sullo schema di archiviazione, inclusi INFORMATION_SCHEMA.LOCALITY_GROUP_OPTIONS, che specifica il tipo di archiviazione di ogni gruppo di località. Per ripristinare un backup che contiene gruppi di località in una nuova istanza, l'istanza di destinazione deve trovarsi nella versione Spanner Enterprise o Spanner Enterprise Plus.

Data Boost

Puoi utilizzare Spanner Data Boost per accedere ai dati su unità SSD o HDD. L'esecuzione di query sui dati sull'HDD utilizza la capacità di carico del disco HDD dell'istanza, che fa parte della capacità di calcolo.

Indici di ricerca

La ricerca a testo intero e gli indici vettoriali ereditano il gruppo di località impostato sull'oggetto database.

Osservabilità

Per l'archiviazione a livelli sono disponibili le seguenti funzionalità di osservabilità.

Metriche di Cloud Monitoring

Spanner fornisce le seguenti metriche per aiutarti a monitorare l'utilizzo e i dati dell'archiviazione a livelli utilizzando Cloud Monitoring:

  • spanner.googleapis.com/instance/storage/used_bytes (Spazio di archiviazione totale): mostra il totale dei byte di dati archiviati nello spazio di archiviazione SSD e HDD.
  • spanner.googleapis.com/instance/storage/combined/limit_bytes: mostra il limite di spazio di archiviazione combinato SSD e HDD.
  • spanner.googleapis.com/instance/storage/combined/limit_bytes_per_processing_unit: Mostra il limite di archiviazione combinato SSD e HDD per ogni unità di elaborazione.
  • spanner.googleapis.com/instance/storage/combined/utilization: mostra l'utilizzo combinato dello spazio di archiviazione SSD e HDD rispetto al limite di archiviazione combinato.
  • spanner.googleapis.com/instance/disk_load: mostra l'utilizzo dell'HDD in percentuale. Se l'istanza raggiunge il 100% del carico del disco HDD, si verifica un aumento significativo della latenza.

Se hai query esistenti che filtrano le metriche esistenti in base a storage_class:ssd, devi rimuovere il filtro per visualizzare l'utilizzo dell'HDD.

Per scoprire di più sul monitoraggio delle risorse Spanner, consulta Monitorare le istanze con System Insights e Monitorare le istanze con Cloud Monitoring.

Schema di informazioni

INFORMATION_SCHEMA.LOCALITY_GROUP_OPTIONS contiene l'elenco dei gruppi di località e delle opzioni nel database Spanner. Include informazioni per il gruppo di località default. Per saperne di più, consulta locality_group_options per i database con dialetto GoogleSQL e locality_group_options per i database con dialetto PostgreSQL.

Tabelle delle statistiche integrate

Per i database che utilizzano l'archiviazione a livelli sono disponibili le seguenti tabelle di statistiche integrate:

  • SPANNER_SYS.TABLE_SIZES_STATS_1HOUR: mostra l'utilizzo dell'archiviazione HDD e SSD per ogni tabella del database.
  • SPANNER_SYS.TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR: mostra l'utilizzo dello spazio di archiviazione HDD e SSD per ogni gruppo di località nel database.

Per ulteriori informazioni, consulta Statistiche sulle dimensioni delle tabelle.

Le tabelle delle statistiche sulle query e delle statistiche di lettura hanno la seguente colonna correlata all'archiviazione a livelli:

  • AVG_DISK_IO_COST: il costo medio di questa query in termini di caricamento del disco HDD di Spanner. Utilizza questo valore per effettuare confronti relativi dei costi di I/O dell'HDD tra le letture che esegui nel database. Un valore più alto indica che stai utilizzando un carico di dischi HDD maggiore e la tua query potrebbe essere più lenta rispetto a quando viene eseguita su SSD. Inoltre, se il carico del disco HDD è al massimo della capacità, le prestazioni delle query potrebbero risentirne ulteriormente.

Per ulteriori informazioni, consulta Statistiche sulle query e Statistiche di lettura.

Prezzi

Non sono previsti costi aggiuntivi per l'utilizzo dell'archiviazione a livelli. Ti viene addebitato il prezzo standard di Spanner per la quantità di capacità di calcolo utilizzata dalla tua istanza e la quantità di spazio di archiviazione utilizzata dal tuo database. I dati archiviati su SSD e HDD vengono fatturati alle rispettive tariffe di archiviazione. Non ti vengono addebitati costi per lo spostamento dei dati tra l'archiviazione SSD e HDD. L'esecuzione di query sui dati sull'HDD utilizza la capacità di carico del disco HDD dell'istanza, che fa parte dei prezzi della capacità di calcolo. Per ulteriori informazioni, consulta la pagina Prezzi di Spanner.

Passaggi successivi