Panoramica del recupero point-in-time (PITR)

Il recupero point-in-time (PITR) di Spanner protegge da eliminazioni o scritture accidentali. Ad esempio, se un operatore scrive inavvertitamente i dati o un'implementazione dell'applicazione danneggia il database, con PITR puoi recuperare i dati da un momento specifico nel passato (fino a un massimo di sette giorni) senza problemi. Se hai bisogno di conservare i dati a lungo termine, puoi utilizzare Backup e ripristino o Esporta e 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 un massimo di sette giorni tramite l'opzione version_retention_period. Per le istruzioni, vedi Impostare il periodo di conservazione. Spanner archivia le vecchie versioni dei dati con una granularità in microsecondi e il database mantiene un earliest_version_time, che rappresenta il primo momento in cui è possibile recuperare le versioni precedenti dei dati.

Modi per recuperare i dati

Esistono due modi per recuperare i dati:

  • Per recuperare una parte del database, esegui una lettura inattiva specificando una condizione di query e un timestamp nel passato, quindi riscrivi i risultati nel database pubblicato. di solito per operazioni chirurgiche su un database in tempo reale. Ad esempio, se elimini accidentalmente una determinata riga o aggiorni erroneamente un sottoinsieme di dati, puoi recuperarlo con questo metodo. Per le istruzioni, vedi Recupero di 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. In genere viene utilizzato per risolvere problemi di danneggiamento dei dati quando occorre ripristinare il database a un momento specifico precedente il danneggiamento. Tieni presente che il 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, vedi 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 sulle prestazioni del database, soprattutto se non viene eseguito il provisioning dell'istanza con una capacità di calcolo sufficiente. Se il tuo database ha una percentuale di sovrascrittura molto elevata (ad esempio, se viene sovrascritto più volte al giorno), potresti valutare l'aumento graduale del periodo di conservazione e monitorare il sistema. Tieni presente quanto segue:

  • Aumento dell'utilizzo dello spazio di archiviazione. Ti consigliamo di configurare avvisi relativi allo 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 versioni precedenti dei dati. Questo perché i vecchi dati che sarebbero scaduti durante il periodo di conservazione precedente non sono più scaduti. Quindi, ad esempio, se aumenti il periodo di conservazione da 3 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 e della latenza della CPU. Spanner usa risorse di calcolo aggiuntive per compattare e mantenere 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 per eseguire aggiornamenti dello schema. Un periodo di conservazione aumentato significa che le versioni dello schema devono essere conservate per periodi più lunghi, causando potenzialmente gli aggiornamenti dello schema throttled 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 sono previsti costi aggiuntivi per l'utilizzo della funzionalità PITR. Tuttavia, se aumenti il periodo di conservazione della versione del database dal valore predefinito di un'ora, i costi di archiviazione e capacità di calcolo del database potrebbero aumentare. Il costo del backup on demand non è interessato perché è archiviata una sola versione del tuo 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 sulle modalità di addebito di Spanner, consulta i prezzi di Spanner.

Passaggi successivi