Metriche di utilizzo dello spazio di archiviazione

Questa pagina descrive le metriche di utilizzo dello spazio di archiviazione fornite da Spanner.

Per impostazione predefinita, i tuoi dati vengono archiviati su unità a stato solido (SSD). Puoi scegliere se archiviare i dati su unità SSD o dischi rigidi (HDD) utilizzando l'archiviazione a livelli. Per maggiori informazioni, consulta la panoramica dell'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. Questo è soggetto al limite di spazio di archiviazione.
  • Spazio di archiviazione totale di 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à di dati che puoi archiviare.

Puoi visualizzare i grafici per queste metriche nella console Google Cloud o nella console Cloud Monitoring.

Inoltre, l'utilizzo dello spazio di archiviazione del database viene mostrato nelle pagine Istanze e Dettagli istanza nella console Cloud.

Vai alla pagina delle istanze

Archiviazione multiversione

Se utilizzi spesso le metriche di archiviazione riportate sopra per controllare le dimensioni dei dati, potresti occasionalmente riscontrare risultati contrari alle tue aspettative. Ad esempio, potresti notare una diminuzione notevole dello spazio di archiviazione totale segnalato del tuo database, anche se non hai rimosso dati di recente. 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 l'archiviazione multiversione. L'archiviazione multiversione mantiene tutti i dati eliminati o sovrascritti nell'archivio e disponibili per un periodo di tempo limitato per attivare funzionalità che consentono di leggere i valori dei dati precedenti, come le letture non aggiornate 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. Analogamente, una diminuzione apparentemente spontanea delle dimensioni totali di un database probabilmente significa che la normale procedura di compattazione dei dati di Spanner ha recentemente ripulito un ampio insieme di dati eliminati o sovrascritti anche diversi giorni prima.

Spanner garantisce la disponibilità continua dei dati eliminati o sovrascritti per l'intervallo definito dall'opzione version_retention_period (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.

Effetti della suddivisione

Durante i periodi di carico elevato o hotspot, Spanner utilizza la suddivisione come tecnica per distribuire in modo più uniforme l'utilizzo della CPU tra le risorse di calcolo di cui è stato eseguito il provisioning. Un effetto collaterale della suddivisione è un aumento temporaneo dell'utilizzo dello spazio di archiviazione. Per i dati suddivisi, nel corso del ciclo di compattazione settimanale, potrebbero essere conservate fino a due copie dell'intervallo suddiviso originale in un determinato momento, finché il ciclo non ha avuto la possibilità di ridurre le suddivisioni ed eliminare le copie aggiuntive dei dati.

Statistiche di archiviazione

Tutti i dati importati in Spanner vengono in genere visualizzati nelle statistiche di archiviazione entro 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 per visualizzarli nelle statistiche di utilizzo dello spazio di archiviazione, fino a diversi giorni.

Ciò accade perché tutti i dati importati (a parte una copia registrata durante il commit per scopi di durabilità e recupero) risiedono temporaneamente in memoria prima di essere scritti in background nell'archiviazione fisica. La quantità di dati che possono e verranno memorizzati nella memoria e il periodo di tempo in cui rimarranno in memoria prima di essere scritti nell'archiviazione fisica dipende 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 consoleGoogle Cloud . Il link Crea criterio di avviso nel grafico (vedi screenshot) ti reindirizza alla pagina di creazione degli avvisi nella console Cloud Monitoring e precompila automaticamente i campi pertinenti.

Schermata delle metriche di Spanner nella console con un pulsante etichettato Crea criterio di avviso.

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 funzionare normalmente ed eseguire la manutenzione di routine sui dati.

Se ti stai avvicinando al limite, Spanner potrebbe impedirti di eseguire operazioni che ti fanno superare 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 spazio di archiviazione, Spanner tenterà di funzionare normalmente, ma potresti riscontrare un peggioramento delle prestazioni o un errore dovuto alla pressione delle risorse. Se ti avvicini o superi il valore massimo consigliato, la consoleGoogle Cloud mostra un avviso che indica "L'istanza ha raggiunto la capacità massima di archiviazione e le prestazioni possono essere ridotte" quando viene visualizzata 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:

  • Aggiungi ulteriore capacità di calcolo.
  • Elimina un database.
  • Elimina i dati da un database. Tieni presente che, sebbene l'eliminazione dei dati abbia effetto immediato dal punto di vista della visibilità, non influisce sulla metrica di utilizzo dello spazio di archiviazione finché Spanner non comprime i dati (in genere entro 12 ore, ma in alcuni casi può richiedere più tempo). Pertanto, potresti notare un ritardo tra l'eliminazione dei dati e la visualizzazione delle modifiche nella metrica.

In generale, ti consigliamo di aggiungere capacità di calcolo alla tua istanza come punto di partenza. Dopo aver aggiunto capacità di calcolo, puoi esaminare e risolvere le cause principali dell'elevato utilizzo 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 necessità, utilizzando il metodo UpdateInstance.

Passaggi successivi