Panoramica del recupero point-in-time (PITR)

Il recupero point-in-time (PITR) di Firestore offre protezione contro scritture o eliminazioni accidentali. PITR mantiene le versioni dei documenti con timestamp passati. Ad esempio, nel caso in cui uno sviluppatore invii dati errati, eliminazioni o scritture accidentali, PITR può recuperare i dati a un determinato punto nel passato (fino a un massimo di 7 giorni) senza problemi.

Per qualsiasi database in tempo reale che segue le best practice, l'utilizzo del PITR non influisce sulle prestazioni delle letture o delle scritture.

Finestra PITR

Dopo aver attivato il recupero point-in-time, Firestore inizia a conservare i dati PITR. I dati PITR vengono conservati per 7 giorni nella finestra PITR.

Puoi leggere i dati per un timestamp in base al momento in cui è stata attivata la funzionalità PITR:

Stato di attivazione PITR Dati PITR più recenti disponibili
Disabilitato 1 ora prima dell'ora della richiesta di lettura
attivata entro 7 giorni 1 ora prima dell'attivazione del PITR
attivato più di 7 giorni fa 7 giorni prima dell'ora della richiesta di lettura

Nella finestra PITR viene conservata una singola versione per minuto. Puoi leggere i documenti con una granularità di un minuto utilizzando un timestamp di un minuto intero. Le letture che non hanno una granularità a livello di minuto, ad esempio 2023-05-30 09:00:00.1234AM, restituiranno un errore che indica che la data e l'ora di lettura sono troppo vecchie.

In caso di più scritture, viene conservata una sola versione di un documento. Ad esempio, se un documento ha subito più scritture con timestamp compreso tra v1, v2, ... vk e 2023-05-30 09:00:00AM (esclusivo) e 2023-05-30 09:01:00AM (incluso), una richiesta di lettura con timestamp 2023-05-30 09:01:00AM restituisce la versione vk del documento.

Puoi leggere i dati creati durante la finestra PITR. I dati vengono archiviati con una granularità di un minuto e puoi recuperarli con la stessa granularità. La funzionalità PITR di Firestore è disattivata per impostazione predefinita.

Il campo earliestVersionTime del database specifica il primo momento di lettura consentito per i dati.

Indipendentemente dal fatto che il PITR sia abilitato o meno, puoi leggere (ma non esportare) i documenti in qualsiasi timestamp con granularità in microsecondi nell'ora precedente, ma non prima di earliestVersionTime.

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 o utilizzando la ricerca diretta della chiave insieme a un timestamp nel passato, quindi riscrivi i risultati nel database in tempo reale. Questo metodo viene solitamente utilizzato per operazioni chirurgiche su un database in tempo reale. Ad esempio, se elimini per errore un determinato documento o aggiorni in modo errato un sottoinsieme di dati, puoi recuperarli con questo metodo. Per le istruzioni, consulta Ripristinare una parte del database.

  • Per ripristinare l'intero database, esporta il database specificando un timestamp passato e poi importalo in un nuovo database. L'operazione di esportazione RPD supporta tutti i filtri, inclusa l'esportazione di tutti i documenti e di raccolte specifiche. Puoi esportare i dati PITR in cui il timestamp è un timestamp di un intero minuto negli ultimi sette giorni, ma non precedente a earliestVersionTime.

Prezzi

Tieni presente le seguenti informazioni sui prezzi prima di attivare il PITR per il tuo database:

  • Spazio di archiviazione: Firestore misura le dimensioni del database ogni giorno. Nel periodo di un mese, questi punti campione vengono mediati per calcolare la dimensione dello spazio di archiviazione del database. Questo valore medio viene moltiplicato per il prezzo unitario del PITR (GB/mese). Per ulteriori informazioni, consulta i prezzi dell'archiviazione.

    Lo spazio di archiviazione PITR non ha un livello gratuito e devi aver attivato la fatturazione per utilizzarlo.

  • Fatturazione di Compute: tutte le query eseguite durante la finestra PITR di 7 giorni, tramite letture non aggiornate o esportazioni, comportano costi per le operazioni di lettura in base al numero di documenti letti. Per ulteriori informazioni, consulta la sezione Prezzi.

  • Fatturazione minima: ti potrebbe essere addebitato il costo dello spazio di archiviazione PITR per un massimo di 1 giorno anche se disattivi PITR entro un giorno dall'attivazione.

Passaggi successivi