Questa pagina descrive le metriche di utilizzo dello spazio di archiviazione fornite da Spanner.
Per impostazione predefinita, i dati vengono archiviati su unità a stato solido (SSD). Puoi scegliere se archiviare i dati su SSD o dischi rigidi (HDD) utilizzando l'archiviazione a livelli. Per ulteriori informazioni, consulta la panoramica sull'archiviazione a livelli.
Metriche di archiviazione
Spanner fornisce le seguenti metriche di archiviazione:
- Spazio di archiviazione totale del database: la quantità di dati archiviati nel database o nei database dell'istanza. È soggetta al limite di archiviazione.
- Spazio di archiviazione totale dei backup: la quantità di dati archiviata dai backup associati all'istanza o al database. Lo spazio di archiviazione dei backup viene archiviato e fatturato separatamente e non esiste un limite alla quantità che puoi archiviare.
Puoi visualizzare i grafici di queste metriche nella Google Cloud console o nella console Cloud Monitoring.
Inoltre, l'utilizzo dello spazio di archiviazione del database viene mostrato nelle pagine Istanze e Dettagli istanza della Google Cloud console.
Spazio di archiviazione multi-versione
Se utilizzi spesso le metriche di archiviazione precedenti per controllare le dimensioni dei dati, potresti occasionalmente riscontrare risultati contrari alle tue aspettative. Ad esempio, potresti notare una riduzione significativa dello spazio di archiviazione totale segnalato per il database, anche se non hai rimosso di recente alcun dato. Al contrario, potresti notare che le dimensioni rimangono relativamente invariate subito dopo aver eseguito un'eliminazione significativa.
Questi effetti derivano dal supporto di Spanner per lo spazio di archiviazione multi-versione. Lo spazio di archiviazione multi-versione mantiene tutti i dati eliminati o sovrascritti nello spazio di archiviazione e disponibili per un periodo di tempo limitato per abilitare funzionalità che consentono di leggere i valori dei dati precedenti, come le letture obsolete e il recupero point-in-time. L'esecuzione di un'eliminazione di grandi quantità di dati non si riflette immediatamente nelle metriche di archiviazione del database. Allo stesso modo, una riduzione apparentemente non richiesta delle dimensioni totali di un database indica probabilmente che il processo di compattazione dei dati regolare di Spanner ha recentemente ripulito un grande set di dati eliminati o sovrascritti anche diversi giorni fa.
Spanner guarantees the
disponibilità continua dei dati eliminati o sovrascritti
per l'intervallo definito dall'
version_retention_period opzione (un'ora, per
impostazione predefinita). Esegue automaticamente un processo in background ogni alcuni giorni che rimuove definitivamente tutti i dati obsoleti precedenti a questo intervallo di conservazione delle versioni. Per rimuovere definitivamente i dati obsoleti più rapidamente, puoi
attivare manualmente una compattazione principale.
Effetti della suddivisione e dell'unione
Durante i periodi di carico elevato o di hotspot, Spanner utilizza la suddivisione e l'unione per distribuire l'utilizzo della CPU tra le risorse di calcolo di cui è stato eseguito il provisioning. Queste operazioni di spostamento dei dati in background possono verificarsi anche se non inserisci o modifichi i dati.
Un effetto collaterale di questa ottimizzazione è un aumento temporaneo dell'utilizzo dello spazio di archiviazione. Per i dati spostati, in un determinato momento potrebbero essere conservate fino a due copie dei dati originali. Questo overhead non aumenta all'infinito. Nel corso del ciclo di compattazione, Spanner riduce le suddivisioni ed elimina le copie aggiuntive dei dati. In genere, questo overhead di archiviazione si stabilizza entro due settimane. Puoi anche attivare manualmente una compattazione principale per eliminare immediatamente le copie aggiuntive.
Statistiche di archiviazione
In genere, tutti i dati inseriti in Spanner vengono visualizzati nelle statistiche di archiviazione in pochi minuti. Tuttavia, in alcuni casi, anche se i dati saranno accessibili per la lettura (e durevoli grazie a tecniche come la registrazione write-ahead), ci vorrà più tempo, fino a diversi giorni, prima che vengano visualizzati nelle statistiche di utilizzo dello spazio di archiviazione.
Questo accade perché tutti i dati inseriti (a parte una copia registrata durante il commit per motivi di durabilità e recupero) risiedono temporaneamente in memoria prima di essere scritti in background nello spazio di archiviazione fisico. La quantità di dati che possono e verranno memorizzati in memoria e il tempo di permanenza in memoria prima di essere scritti nello spazio di archiviazione fisico dipendono dalle dimensioni del calcolo e dalle dimensioni e dalle prestazioni del carico di lavoro.
Creare avvisi di archiviazione
Puoi creare avvisi di archiviazione nella console Cloud Monitoring. Forniamo anche un modo semplice per creare un avviso di archiviazione del database direttamente dalla Google Cloud console. Il link Crea policy di avviso nel grafico (vedi screenshot) ti porta alla pagina di creazione degli avvisi nella console Cloud Monitoring e precompila automaticamente i campi pertinenti.

Suggerimenti per l'utilizzo dello spazio di archiviazione del database
Ti consigliamo di mantenere lo spazio di archiviazione totale del database al di sotto del limite di archiviazione. In questo modo, Spanner ha spazio sufficiente per operare normalmente ed eseguire la manutenzione di routine sui dati.
Se ti stai avvicinando al limite, Spanner potrebbe impedirti di eseguire operazioni che superano il limite, ad esempio:
- Ripristino di un database da un backup.
- Modifica dello schema del database (ad esempio, aggiunta di un indice).
- Riduzione della capacità di calcolo dell'istanza.
Se superi il limite di archiviazione, Spanner tenterà di operare normalmente, ma potresti riscontrare un peggioramento delle prestazioni o un errore a causa della pressione sulle risorse. Se ti avvicini o superi il massimo consigliato, Google Cloud la console visualizza un avviso che indica "L'istanza ha raggiunto la capacità massima di archiviazione e le prestazioni possono essere ridotte" quando visualizza l'istanza interessata.
Puoi anche creare avvisi in Cloud Monitoring per ricevere notifiche.
Ridurre l'utilizzo dello spazio di archiviazione del database
Per ridurre l'utilizzo dello spazio di archiviazione del database di un'istanza, puoi:
- Aggiungere altra capacità di calcolo.
- Eliminare i database inutilizzati.
- Eliminare i dati da un database. Anche se l'eliminazione dei dati ha effetto immediato dal punto di vista della visibilità dei dati, potrebbe non influire sulla metrica di utilizzo dello spazio di archiviazione finché Spanner non comprime i dati, il che in genere avviene entro 12 ore per le eliminazioni di dati significative o entro una settimana in caso contrario. Pertanto, potresti notare un ritardo tra il momento in cui i dati vengono eliminati e il momento in cui le modifiche vengono visualizzate nella metrica. Per recuperare lo spazio di archiviazione più rapidamente, puoi attivare manualmente una compattazione principale.
In generale, ti consigliamo di aggiungere capacità di calcolo all'istanza come punto di partenza. Dopo aver aggiunto la capacità di calcolo, puoi esaminare e risolvere le cause principali dell'utilizzo elevato dello spazio di archiviazione.
Se vuoi automatizzare questo processo, puoi creare un'applicazione che
monitora l'utilizzo dello spazio di archiviazione del database, quindi aggiunge e rimuove la capacità di calcolo in base alle
esigenze, utilizzando il metodo UpdateInstance.
Passaggi successivi
- Monitora l'istanza con la Google Cloud console o la console Cloud Monitoring.
- Crea avvisi per Spanner.
- Scopri come modificare la capacità di calcolo di un' istanza Spanner.