Informazioni sul recupero point-in-time (PITR)

Il recupero point-in-time (PITR) di Cloud Spanner offre protezione da eliminazione o scritture accidentali. Ad esempio, se un operatore scrive dati inavvertitamente o l'implementazione di un'applicazione danneggia il database, con PITR puoi recuperarli da un momento specifico in passato (fino a un massimo di 7 giorni). Se hai bisogno di una conservazione dei dati a lungo termine, puoi utilizzare Backup e ripristino o Esporta e importa.

Per impostazione predefinita, il tuo database conserva tutte le versioni dei suoi dati e schema per 1 ora. Puoi aumentare questo limite di tempo fino a sette giorni tramite l'opzione version_retention_period. Cloud Spanner archivia le vecchie versioni dei dati con granularità al microsecondo e il database mantiene una earliest_version_time, che rappresenta il primo momento in cui è possibile recuperare le vecchie versioni dei dati.

Modi per recuperare i dati

Esistono due modi per recuperare i dati:

  • Per recuperare una porzione del database, esegui una lettura temporanea specificando una condizione e un timestamp della query nel passato, quindi scrivi di nuovo i risultati nel database in tempo reale. Utilizzato di solito per operazioni chirurgiche su un database attivo. Ad esempio, se elimini accidentalmente una determinata riga o aggiorni un sottoinsieme di dati, puoi recuperarla con questo metodo. Per le istruzioni, vedi Recuperare una parte del database.

  • Per recuperare l'intero database, esegui il backup o esporta il database specificando un timestamp nel passato per poi ripristinarlo o importarlo in un nuovo database. Solitamente in uso per il ripristino da problemi di danneggiamento dei dati quando è necessario ripristinare l'intero database in un momento specifico prima che si verifichi 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 istruzioni, consulta la sezione Recuperare l'intero database.

Considerazioni sul rendimento

I database con periodi di conservazione più lunghi e, in particolare, quelli che sovrascrivono spesso i dati, utilizzano più risorse di sistema. Questo può influire sulle prestazioni del tuo database, in particolare se non è stato eseguito un provisioning sufficiente per la istanza. Se il tuo database ha una frequenza di sovrascrittura molto elevata (ad esempio, se il tuo database viene sovrascritto più volte al giorno), potresti prendere in considerazione 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 relativi allo spazio di archiviazione per assicurarti di non superare il limite di archiviazione. Quando imposti 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 vecchi dati che sarebbero scaduti durante il periodo di conservazione precedente non sono più scaduti. Ad esempio, se aumenti il periodo di conservazione da 3 a 7 giorni, dovrai attendere 4 giorni affinché l'utilizzo dell'archiviazione di database si stabilizzi. Ti forniamo anche le istruzioni per stimare l'aumento dello spazio di archiviazione.

  • Maggiore utilizzo e latenza della CPU. Cloud Spanner utilizza risorse di calcolo aggiuntive per compattare e mantenere vecchie versioni dei dati. Monitora la tua istanza e il tuo database per garantire che la latenza e l'utilizzo della CPU rimangano a livelli accettabili.

  • Tempo esteso per eseguire gli aggiornamenti dello schema. Con un periodo di conservazione più lungo, le versioni dello schema devono essere conservate per durate più lunghe, il che potrebbe causare la visualizzazione di 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 previsti per gli aggiornamenti dello schema.

Passaggi successivi