Panoramica del recupero point-in-time (PITR)

Il recupero point-in-time (PITR) di Spanner offre protezione contro scritture o eliminazioni accidentali. Ad esempio, se un operatore scrive inavvertitamente dei dati o se l'implementazione di un'applicazione danneggia il database, con il PITR puoi recuperare facilmente i dati di un punto nel tempo passato (fino a un massimo di sette giorni). Se hai bisogno di conservare i dati per un periodo più lungo, puoi utilizzare Backup e ripristino o Esporta ed importa.

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 nel passato più antico in cui puoi 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 non aggiornata specificando una condizione di query e un timestamp nel passato, quindi riscrivi i risultati nel database in tempo reale. Questo approccio viene in genere utilizzato per operazioni chirurgiche su un database in produzione. Ad esempio, se elimini per errore una determinata riga o aggiorni in modo errato un sottoinsieme di dati, puoi recuperarli con questo metodo. Per le istruzioni, vedi Recuperare una parte del database.

  • Per ripristinare l'intero database, esegui il backup o esporta il database specificando un timestamp nel passato, quindi ripristinalo o importalo in un nuovo database. Questo metodo viene in genere utilizzato per recuperare i dati da problemi di corruzione quando devi ripristinare il database a un punto in tempo precedente alla corruzione. Tieni presente che la creazione di un backup o l'esportazione di un database potrebbe richiedere diverse ore e che non puoi ripristinare o importare in un database esistente. Per le istruzioni, consulta la pagina sul recupero dell'intero database.

Considerazioni sulle prestazioni

I database con periodi di conservazione più lunghi e, in particolare, quelli che sovrascrivono spesso i dati, utilizzano più risorse di sistema. Ciò può influire sul funzionamento del database, soprattutto se per l'istanza non è stato eseguito il provisioning di capacità di calcolo sufficiente. Se il tuo database ha un tasso di sovrascrittura molto elevato (ad esempio, se viene sovrascritto più volte al giorno), ti consigliamo di aumentare gradualmente il periodo di conservazione e di monitorare il sistema. Ecco alcuni aspetti da tenere presenti:

  • Aumento dell'utilizzo dello spazio di archiviazione. Ti consigliamo di impostare avvisi sullo 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 in base al 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 affinché l'utilizzo dello spazio di archiviazione del database si stabilizzi. Forniamo inoltre istruzioni per la stima dell'aumento dello spazio di archiviazione.

  • Aumento dell'utilizzo della CPU e della latenza. Spanner utilizza risorse di calcolo aggiuntive per comprimere 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.

  • Tempo di esecuzione degli aggiornamenti dello schema aumentato. Un periodo di conservazione più lungo significa che le versioni dello schema devono essere conservate per periodi di tempo più lunghi, il che potrebbe causare l'throttled degli aggiornamenti dello schema durante l'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 di PITR. Tuttavia, se aumenti il periodo di conservazione delle versioni del database rispetto all'ora predefinita, i costi di archiviazione e della capacità di calcolo del database potrebbero aumentare. Il costo del backup on demand non è interessato perché viene archiviata una sola versione del database. Per ulteriori informazioni, consulta la sezione Considerazioni sul rendimento. Prima di aumentare il periodo di conservazione della versione di un database, puoi stimare l'aumento previsto dello spazio di archiviazione del database.

Per informazioni generali su come vengono addebitati gli importi di Spanner, consulta la pagina Prezzi di Spanner.

Passaggi successivi