Conservazione dei dati con viaggio nel tempo e fail-safe
Questo documento descrive le finestre di conservazione dei dati time-travel e fail-safe per i set di dati. Durante i periodi di viaggio nel tempo e di fail-safe, i dati che hai modificato o eliminato in qualsiasi tabella del set di dati continuano a essere archiviati nel caso in cui tu debba recuperarli.
Viaggio nel tempo
Puoi accedere ai dati da qualsiasi punto all'interno della finestra di viaggio nel tempo, che per impostazione predefinita copre gli ultimi sette giorni. Il viaggio nel tempo ti consente di eseguire query sui dati aggiornati o eliminati, ripristinare una tabella o un set di dati eliminato o ripristinare una tabella scaduta.
Configurare la finestra di spostamento cronologico
Puoi impostare la durata della finestra di viaggio nel tempo, da un minimo di due giorni a un massimo di sette giorni. Il valore predefinito è 7 giorni. Imposti la finestra di analisi storica a livello di set di dati, che viene poi applicata a tutte le tabelle al suo interno. È possibile configurare anche un valore predefinito a livello di progetto.
Puoi configurare la finestra di viaggio nel tempo in modo che sia più lunga nei casi in cui è importante avere più tempo per recuperare i dati aggiornati o eliminati e più breve se non è necessario. L'utilizzo di un intervallo di tempo più breve consente di risparmiare sui costi di archiviazione quando si utilizza il modello di fatturazione dello spazio di archiviazione fisico. Questi risparmi non si applicano quando utilizzi il modello di fatturazione dello spazio di archiviazione logico.
Per ulteriori informazioni su come il modello di fatturazione dell'archiviazione influisce sul costo, consulta Fatturazione.
In che modo la finestra di viaggio nel tempo influisce sul recupero di tabelle e set di dati
Una tabella o un set di dati eliminati utilizza la durata della finestra di viaggio nel tempo in vigore al momento dell'eliminazione.
Ad esempio, se hai una finestra di viaggio nel tempo di due giorni e poi la aumenti a sette giorni, le tabelle eliminate prima di questa modifica possono essere recuperate solo per due giorni. Analogamente, se hai una finestra di viaggio nel tempo di cinque giorni e la riduci a tre giorni, tutte le tabelle eliminate prima della modifica sono ancora recuperabili per cinque giorni.
Poiché le finestre di spostamento nel tempo sono impostate a livello di set di dati, non puoi modificare la finestra di spostamento nel tempo di un set di dati eliminato finché non viene annullata l'eliminazione.
Se riduci la durata della finestra di viaggio nel tempo, elimini una tabella e poi ti accorgi di aver bisogno di un periodo di recupero più lungo per i dati, puoi creare uno snapshot della tabella da un punto in tempo precedente all'eliminazione della tabella. Devi farlo finché la tabella eliminata è ancora recuperabile. Per ulteriori informazioni, consulta Creare uno snapshot di una tabella utilizzando il viaggio nel tempo.
Specifica 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 viaggio nel tempo per un set di dati.
Per istruzioni su come specificare la finestra di spostamento nel tempo per un nuovo set di dati, consulta Creare set di dati.
Per istruzioni su come aggiornare la finestra di viaggio nel tempo per un set di dati esistente, consulta Aggiornare le finestre di viaggio nel tempo.
Se il timestamp specifica un'ora al di fuori dell'intervallo di tempo di viaggio nel tempo o precedente alla creazione della tabella, la query non va a buon fine e restituisce un errore simile al seguente:
TableID
was created at time which is before its allowed time travel intervaltimestamp
. 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 della tabella.
È obbligatoria 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 |
L'autorizzazione bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
non può essere aggiunta a un ruolo personalizzato.
Esegui il seguente comando per ottenere la data e l'ora epoch di Unix equivalenti:
date -d '2023-08-04 16:00:34.456789Z' +%s000
Sostituisci la data e l'ora di epoche UNIX
1691164834000
ricevuta dal comando precedente nello strumento a riga di comando bq. Esegui il seguente comando per ripristinare una copia della tabelladeletedTableID
eliminata in un'altra tabellarestoredTable
, nello stesso set di datimyDatasetID
:bq cp myProjectID:myDatasetID.deletedTableID@1691164834000 myProjectID:myDatasetID.restoredTable
Fail-safe
BigQuery fornisce un periodo di fail-safe. Durante il periodo di sicurezza, i dati eliminati vengono conservati automaticamente per altri sette giorni dopo la finestra di viaggio nel tempo, in modo che siano disponibili per il recupero di emergenza. I dati sono recuperabili a livello di tabella. I dati di una tabella vengono recuperati dal punto in tempo rappresentato dal timestamp dell'eliminazione della tabella. Il periodo di fail-safe non è configurabile.
Non puoi eseguire query o recuperare direttamente i dati nello spazio di archiviazione fail-safe. Per recuperare i dati dallo spazio di archiviazione di riserva, contatta l'assistenza clienti Google Cloud.
Fatturazione
Se imposti il modello di fatturazione dello spazio di archiviazione in modo da utilizzare i byte fisici, ti vengono fatturati separatamente i byte utilizzati per il viaggio nel tempo e lo spazio di archiviazione di riserva. Lo spazio di archiviazione per Time-Travel e Fail-Safe viene addebitato alla tariffa dello spazio di archiviazione fisico attivo. Puoi configurare l'intervallo di tempo 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 dello spazio di archiviazione per il time-travel e lo spazio di archiviazione fail-safe sono inclusi nella tariffa di base che ti viene addebitata.
La tabella seguente mostra un confronto dei costi di archiviazione fisica e logica:
Modello di fatturazione | Per cosa paghi? |
---|---|
Spazio di archiviazione fisico (compresso) |
|
Spazio di archiviazione logico (non compresso) (impostazione predefinita) |
|
Se utilizzi lo spazio di archiviazione fisico, puoi vedere i byte utilizzati dallo spostamento cronologico e dal fail-safe esaminando le colonne TIME_TRAVEL_PHYSICAL_BYTES
e FAIL_SAFE_PHYSICAL_BYTES
nelle visualizzazioni TABLE_STORAGE
e TABLE_STORAGE_BY_ORGANIZATION
. Per un esempio di come utilizzare una di queste visualizzazioni per stimare i costi, consulta la sezione Prevedere la fatturazione dello spazio di archiviazione.
I costi di archiviazione si applicano ai dati di viaggio nel tempo e di fail-safe, ma ti vengono addebitati solo se le tariffe di archiviazione dei dati non si applicano altrove in BigQuery. Si applicano i seguenti dettagli:
- Quando viene creata una tabella, non è previsto alcun costo per lo spazio di archiviazione di Time-Travel o Fail-Safe.
- Se i dati vengono modificati o eliminati, ti viene addebitato il costo di archiviazione dei dati modificati o eliminati salvati dal viaggio nel tempo durante la finestra di viaggio nel tempo e il periodo di sicurezza. È simile ai prezzi dello spazio di archiviazione per gli snapshot e i cloni delle tabelle.
Esempio di conservazione dei dati
La seguente tabella mostra come i dati eliminati o modificati passano da un'altra finestra di conservazione dello spazio di archiviazione. Questo esempio mostra una situazione in cui lo spazio di archiviazione attivo totale è di 200 GB e 50 GB vengono eliminati con una finestra di viaggio nel tempo 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 | 12° giorno | Giorno 13 | Giorno 14 | 15° giorno | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Archiviazione attiva | 200 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 |
Spazio di archiviazione per i viaggi nel tempo | 50 | 50 | 50 | 50 | 50 | 50 | 50 | |||||||||
Archiviazione a prova di errore | 50 | 50 | 50 | 50 | 50 | 50 | 50 |
L'eliminazione dei dati dallo spazio di archiviazione fisico a lungo termine funziona allo stesso modo.
Limitazioni
- La funzionalità di spostamento nel tempo consente di accedere ai dati storici solo per la durata della finestra di spostamento nel tempo. Per conservare i dati della tabella per scopi non di emergenza per più tempo rispetto alla finestra di viaggio nel tempo, utilizza gli snapshot delle tabelle.
- Se una tabella ha o ha avuto in precedenza criteri di accesso a livello di riga, il movimento nel tempo può essere utilizzato solo dagli amministratori della tabella. Per ulteriori informazioni, consulta Viaggio nel tempo e accesso a livello di riga.
- Il viaggio nel tempo non ripristina i metadati delle tabelle.
- Il viaggio nel tempo non è supportato nei seguenti tipi di tabelle:
- Tabelle esterne
- Tabelle dei risultati delle query memorizzate nella cache temporanee
- Tabelle di sessione temporanee
- Tabelle temporanee con più istruzioni
- Tabelle elencate in Set di dati esterni.
Passaggi successivi
- Scopri come eseguire query e recuperare i dati relativi al viaggio nel tempo.
- Scopri di più sugli snapshot delle tabelle.