Panoramica del recupero point-in-time (PITR)

Il recupero point-in-time (PITR) di Spanner fornisce protezione da eliminazioni o scritture accidentali. Ad esempio, se un operatore scrive inavvertitamente dati o se il lancio di un'applicazione danneggia il database, con PITR puoi recuperare senza problemi i dati da un momento specifico del passato (fino a un massimo di sette giorni). Se hai bisogno di una conservazione dei dati a lungo termine, 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' version_retention_period opzione. Per le istruzioni, vedi Impostare il periodo di conservazione. Spanner stores earlier versions of data at microsecond granularity and the database maintains an earliest_version_time, which represents the earliest time in the past that you can recover earlier versions of the data.

Modalità di recupero dei dati

Esistono tre modi per recuperare i dati:

  • Per recuperare una parte del database, esegui una lettura di dati obsoleti specificando una condizione di query e un timestamp nel passato, quindi riscrivi i risultati nel database live. In genere, questa operazione viene utilizzata per operazioni chirurgiche 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 Recuperare una parte del database.

  • Per recuperare una tabella specifica, esporta la tabella da un timestamp precedente all'interno dello stesso database e poi importala di nuovo. Per le istruzioni, vedi Recuperare una tabella specifica.

  • Per recuperare l'intero database, esegui il backup o l'esportazione del database specificando un timestamp nel passato, quindi ripristinalo o importalo in un nuovo database. In genere, questa operazione viene utilizzata per recuperare i dati danneggiati quando devi ripristinare il database a un momento specifico 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 sul rendimento del tuo database, soprattutto se l'istanza non è sottoposta a provisioning con una capacità di calcolo sufficiente. Se il database ha una frequenza di sovrascrittura molto elevata (ad esempio, se il database viene sovrascritto più volte al giorno), potresti prendere in considerazione l'aumento graduale del periodo di conservazione e il monitoraggio del sistema. Ecco alcune cose da tenere presenti:

  • Maggiore utilizzo dello spazio di archiviazione. Ti consigliamo di configurare gli avvisi di archiviazione per assicurarti di non superare il limite 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 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 significa che le versioni dello schema devono essere conservate per periodi più lunghi, il che potrebbe causare la throttledlimitazione 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 sono previsti costi aggiuntivi per l'utilizzo di PITR. Tuttavia, se aumenti il periodo di conservazione della versione 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 è 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 i costi di Spanner, vedi Prezzi di Spanner.

Passaggi successivi