Conservazione dei dati con viaggi nel tempo e sicurezza

Questo documento descrive i viaggi nel tempo e la conservazione dei dati fail-safe per i set di dati. Durante il viaggio cronologico e i periodi di sicurezza, i dati modificati o eliminati in qualsiasi tabella nel set di dati continuano a essere archiviati nel caso in cui sia necessario recuperarli.

Viaggio nel tempo

Puoi accedere ai dati da qualsiasi momento all'interno della finestra di spostamento cronologico, che copre gli ultimi sette giorni per impostazione predefinita. I viaggi cronologici consentono di eseguire query su dati aggiornati o eliminati, ripristinare una tabella o un set di dati eliminati oppure ripristinare una tabella scaduta.

Configurare la finestra di spostamento cronologico

Puoi impostare la durata della finestra di spostamento cronologico da un minimo di due giorni a un massimo di sette giorni. Il valore predefinito è 7 giorni. La finestra di spostamento cronologico viene impostata a livello del set di dati, per poi essere applicata a tutte le tabelle all'interno del set di dati.

Puoi configurare la finestra di spostamento cronologico in modo che sia più lunga nei casi in cui è importante avere più tempo per recuperare i dati aggiornati o eliminati e che sia più breve se non è necessario. L'utilizzo di una finestra di spostamento nel tempo inferiore consente di risparmiare sui costi di archiviazione quando si utilizza il modello di fatturazione dell'archiviazione fisica. Questi risparmi non vengono applicati quando utilizzi il modello di fatturazione per l'archiviazione logica.

Per ulteriori informazioni su come il modello di fatturazione dello spazio di archiviazione influisce sui costi, consulta Fatturazione.

In che modo la finestra di spostamento cronologico influisce sul recupero di tabelle e set di dati

Una tabella o un set di dati eliminato utilizza la durata della finestra di spostamento cronologico in vigore al momento dell'eliminazione.

Ad esempio, se hai una durata della finestra di spostamento cronologico di due giorni e poi la aumenti a sette giorni, le tabelle eliminate prima di questa modifica saranno comunque recuperabili solo per due giorni. Allo stesso modo, se la tua finestra di spostamento cronologico dura cinque giorni e la riduci a tre giorni, tutte le tabelle eliminate prima della modifica saranno comunque recuperabili per cinque giorni.

Poiché le finestre di spostamento cronologico sono impostate a livello di set di dati, non puoi modificare la finestra di spostamento cronologico di un set di dati eliminato finché non viene annullato.

Se riduci la durata della finestra di spostamento cronologico, elimini una tabella e poi ti rendi conto che è necessario un periodo di recupero più lungo per i dati, puoi creare uno snapshot della tabella da un momento precedente all'eliminazione della tabella. Devi eseguire questa operazione mentre la tabella eliminata è ancora recuperabile. Per maggiori informazioni, consulta Creare uno snapshot della tabella utilizzando lo spostamento cronologico.

Specificare una finestra di spostamento cronologico

Puoi utilizzare la console Google Cloud, lo strumento a riga di comando bq o l'API BigQuery per specificare la finestra di spostamento cronologico per un set di dati.

Per istruzioni su come specificare la finestra di spostamento cronologico per un nuovo set di dati, consulta Creare set di dati.

Per istruzioni su come aggiornare la finestra di spostamento cronologico per un set di dati esistente, consulta Aggiornare le finestre di spostamento cronologico.

Se il timestamp specifica un tempo esterno all'intervallo di spostamento cronologico o da prima della creazione della tabella, la query non riesce e restituisce un errore come il seguente:

Table ID was created at time which is
before its allowed time travel interval timestamp. Creation
time: timestamp

Viaggio nel tempo e accesso a livello di riga

Se una tabella ha o ha avuto criteri di accesso a livello di riga, solo un amministratore della tabella può accedere ai dati storici per la tabella.

È richiesta la seguente autorizzazione Identity and Access Management (IAM):

Autorizzazione Risorsa
bigquery.rowAccessPolicies.overrideTimeTravelRestrictions La tabella di cui si accede ai dati storici

Il seguente ruolo BigQuery fornisce l'autorizzazione richiesta:

Role Risorsa
roles/bigquery.admin La tabella di cui si accede ai dati storici

Non è possibile aggiungere l'autorizzazione bigquery.rowAccessPolicies.overrideTimeTravelRestrictions a un ruolo personalizzato.

  • Esegui questo comando per ottenere il tempo di epoca Unix equivalente:

    date -d '2023-08-04 16:00:34.456789Z' +%s000
    
  • Sostituisci l'ora dell'epoca UNIX 1691164834000 ricevuta dal comando precedente nello strumento a riga di comando bq. Esegui questo comando per ripristinare una copia della tabella deletedTableID eliminata in un'altra tabella restoredTable, all'interno dello stesso set di dati myDatasetID:

    bq cp myProjectID:myDatasetID.deletedTableID@1691164834000 myProjectID:myDatasetID.restoredTable
    

A prova di errore

BigQuery offre un periodo di sicurezza. Durante il periodo di sicurezza, i dati eliminati vengono conservati automaticamente per altri sette giorni dopo la finestra di spostamento cronologico, in modo che siano disponibili per il ripristino di emergenza. I dati sono recuperabili a livello di tabella. I dati di una tabella vengono recuperati dal momento rappresentato dal timestamp relativo all'eliminazione della tabella. Il periodo di sicurezza non è configurabile.

Non puoi eseguire query o recuperare direttamente i dati nello spazio di archiviazione non sicuro. Per recuperare i dati dall'archiviazione in caso di errore, contatta l'assistenza clienti Google Cloud.

Fatturazione

Se imposti il tuo modello di fatturazione per l'archiviazione in modo che utilizzi i byte fisici, i costi totali di archiviazione che ti vengono addebitati includono i byte utilizzati per il viaggio nel tempo e l'archiviazione in sicurezza. I costi per i viaggi cronologici e l'archiviazione fail-safe vengono addebitati in base alla tariffa di archiviazione fisica attiva. Puoi configurare la finestra di spostamento cronologico per bilanciare i costi di archiviazione con le tue esigenze di conservazione dei dati.

Se imposti il modello di fatturazione dello spazio di archiviazione in modo che utilizzi i byte logici, i costi totali di archiviazione che ti vengono addebitati non includono i byte utilizzati per i viaggi temporali o per l'archiviazione in caso di errore.

La tabella seguente mostra un confronto tra i costi di archiviazione fisica e logica:

Modello di fatturazione Per cosa paghi?
Archiviazione fisica (compressa)
  • Paghi per i byte attivi
  • Paghi per lo spazio di archiviazione a lungo termine
  • Paghi per lo spazio di archiviazione per i viaggi nel tempo
  • Paghi per spazio di archiviazione non sicuro
Archiviazione logica (non compressa) (impostazione predefinita)
  • Paghi per lo spazio di archiviazione attivo
  • Paghi per lo spazio di archiviazione a lungo termine
  • Non paghi per lo spazio di archiviazione per i viaggi nel tempo
  • Non paghi per l'archiviazione in sicurezza

Se utilizzi lo spazio di archiviazione fisico, puoi vedere i byte utilizzati dal viaggio nel tempo e quelli a prova di errore osservando le colonne TIME_TRAVEL_PHYSICAL_BYTES e FAIL_SAFE_PHYSICAL_BYTES nelle viste TABLE_STORAGE e TABLE_STORAGE_BY_ORGANIZATION. Per un esempio di come utilizzare una di queste viste per stimare i costi, consulta Prevedere la fatturazione dello spazio di archiviazione.

Esempio di archiviazione fisica

La tabella seguente mostra in che modo vengono fatturati i dati eliminati quando utilizzi l'archiviazione fisica. Questo esempio mostra una situazione in cui lo spazio di archiviazione fisico attivo totale è di 200 GiB, poi si eliminano 50 GiB e la finestra di spostamento cronologico è di sette giorni:

Giorno 0 Giorno 1 Giorno 2 Giorno 3 Giorno 4 Giorno 5 Giorno 6 Giorno 7 Giorno 8 Giorno 9 Giorno 10 Giorno 11 Giorno 12 Giorno 13 Giorno 14 Giorno 15
Archiviazione attiva 200 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150
Archiviazione dei viaggi nel tempo 50 50 50 50 50 50 50
Archiviazione fail-safe 50 50 50 50 50 50 50

L'eliminazione dei dati dallo spazio di archiviazione fisico a lungo termine funziona allo stesso modo.

Limitazioni

  • Il viaggio cronologico consente di accedere ai dati storici solo per la durata della finestra di spostamento cronologico. Per conservare i dati della tabella per scopi non di emergenza più a lungo della finestra di spostamento cronologico, utilizza gli snapshot delle tabelle.
  • Se una tabella ha o ha avuto in precedenza criteri di accesso a livello di riga, il viaggio nel tempo può essere utilizzato solo dagli amministratori della tabella. Per ulteriori informazioni, vedi Viaggio nel tempo e accesso a livello di riga.
  • Lo spostamento cronologico non ripristina i metadati della tabella.

Passaggi successivi