Panoramica del recupero point-in-time (PITR)

Il recupero point-in-time (PITR) di Spanner offre protezione da eliminazioni o scritture accidentali. Ad esempio, se un operatore scrive inavvertitamente dati o l'implementazione di un'applicazione danneggia il database, con PITR puoi recuperare i dati da un momento specifico del passato (fino a un massimo di sette giorni) senza problemi. Se hai bisogno di conservare i dati per un periodo più lungo, puoi utilizzare Backup e ripristino o Esportazione e importazione.

Per impostazione predefinita, il database conserva tutte le versioni dei dati e dello schema per un'ora. Puoi aumentare questo limite di tempo fino a sette giorni tramite l'opzione version_retention_period. Per istruzioni, vedi Impostare il periodo di conservazione. Spanner archivia le versioni precedenti dei dati con una granularità di microsecondi e il database gestisce un earliest_version_time, che rappresenta il momento più remoto nel passato in cui è possibile recuperare le versioni precedenti dei dati.

Metodi per recuperare i dati

Esistono due modi per recuperare i dati:

  • Per recuperare una parte del database, esegui una lettura obsoleta specificando una condizione di query e un timestamp nel passato, quindi riscrivi i risultati nel database live. Viene in genere utilizzato per operazioni chirurgiche su un database attivo. Ad esempio, se elimini per errore una determinata riga o aggiorni in modo errato un sottoinsieme di dati, puoi recuperarlo con questo metodo. Per istruzioni, vedi Recuperare una parte del database.

  • Per recuperare l'intero database, esegui il backup o esporta il database specificando un timestamp nel passato, quindi ripristinalo o importalo in un nuovo database. Questo viene in genere utilizzato per risolvere i problemi di danneggiamento dei dati quando devi ripristinare il database a un momento precedente al danneggiamento. Tieni presente che il backup o l'esportazione di un database potrebbero richiedere diverse ore e che non puoi ripristinare o importare in un database esistente. Per le istruzioni, vedi Recuperare l'intero database.

Considerazioni sulle prestazioni

I database con periodi di conservazione più lunghi e, in particolare, quelli che sovrascrivono frequentemente i dati utilizzano più risorse di sistema. Ciò può influire sulle prestazioni del database, soprattutto se l'istanza non è sottoposta a provisioning con una capacità di calcolo sufficiente. Se il tuo database ha una velocità di sovrascrittura molto elevata (ad esempio, se il database viene sovrascritto più volte al giorno), potresti valutare la possibilità di aumentare gradualmente il periodo di conservazione e monitorare il sistema. Ecco alcuni aspetti da tenere presenti:

  • Maggiore utilizzo dello spazio di archiviazione. Ti consigliamo di configurare avvisi di spazio di archiviazione per assicurarti di non superare il limite di spazio di archiviazione. Quando aumenti il periodo di conservazione, tieni presente che l'utilizzo dello spazio di archiviazione aumenterà gradualmente man mano che il database accumula le versioni precedenti dei dati. Questo perché i vecchi dati che sarebbero scaduti nel periodo di conservazione precedente non sono più scaduti. Ad esempio, se aumenti il periodo di conservazione da 3 giorni a 7 giorni, devi attendere 4 giorni prima che l'utilizzo dello spazio di archiviazione del database si stabilizzi. Forniamo anche istruzioni per stimare l'aumento dello spazio di archiviazione.

  • Aumento dell'utilizzo della CPU e della latenza. Spanner utilizza risorse di calcolo aggiuntive per compattare e gestire le versioni precedenti dei dati. Monitora l'istanza e il database per assicurarti che la latenza e l'utilizzo della CPU rimangano a livelli accettabili.

  • Aumento del tempo necessario per eseguire gli aggiornamenti dello schema. Un periodo di conservazione più lungo implica che le versioni dello schema devono essere conservate per periodi di tempo più lunghi, il che potrebbe causare un throttled degli aggiornamenti dello schema in attesa delle risorse del server. Assicurati di seguire le best practice per gli aggiornamenti dello schema e di rispettare i limiti per gli aggiornamenti dello schema.

Prezzi

Non è previsto alcun costo aggiuntivo per l'utilizzo del recupero point-in-time. Tuttavia, se aumenti il periodo di conservazione delle versioni del database rispetto all'ora predefinita, i costi di archiviazione e capacità di calcolo del database potrebbero aumentare. Il costo del backup on demand non viene modificato perché viene archiviata una sola versione del database. Per ulteriori informazioni, consulta la sezione Considerazioni sul rendimento. Prima di aumentare il periodo di conservazione delle versioni di un database, puoi stimare l'aumento previsto dello spazio di archiviazione del database.

Per informazioni generali su come vengono addebitati i costi di Spanner, consulta la pagina Prezzi di Spanner.

Passaggi successivi