Panoramica del recupero point-in-time (PITR)

Il recupero point-in-time (PITR) di Spanner fornisce protezione contro l'eliminazione o le scritture accidentali. Ad esempio, se un operatore scrive inavvertitamente dei 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 interruzioni. 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 utilizzando 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 elemento earliest_version_time, che rappresenta la prima volta in passato in cui è possibile recuperare 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 inattiva, specificando una condizione di query e un timestamp nel passato, quindi scrivi i risultati nuovamente nel database in tempo reale. Viene generalmente utilizzato per gli interventi chirurgici su un database live. Ad esempio, se elimini accidentalmente una riga specifica o aggiorni in modo errato un sottoinsieme di dati, puoi recuperarli 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 devi ripristinare il database a un momento specifico precedente al danneggiamento dei dati. 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 Recupero dell'intero database.

Considerazioni sul rendimento

I database con periodi di conservazione più lunghi, 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 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. Ecco alcuni aspetti da tenere presenti:

  • Maggiore utilizzo dello spazio di archiviazione. Ti consigliamo di configurare gli 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 versioni precedenti dei dati. in quanto i dati precedenti che sarebbero scaduti nel periodo di conservazione precedente non sono più scaduti. Quindi, ad esempio, se prolunghi 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.

  • Maggiore utilizzo e latenza della CPU. 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.

  • Tempi di esecuzione degli aggiornamenti dello schema più lunghi. Un periodo di conservazione prolungato significa che le versioni di schema devono essere conservate per periodi di tempo 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 non superare 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 rispetto a quello 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é 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 sui costi di Spanner, consulta i prezzi di Spanner.

Passaggi successivi