Conservazione dei dati con spostamento cronologico e sicurezza
Questo documento descrive la conservazione dei dati relativa ai viaggi nel tempo e a prova di errore per i set di dati. Durante i periodi di spostamento cronologico e di sicurezza, i dati modificati o eliminati in qualsiasi tabella del set di dati continuano a essere archiviati nel caso in cui sia necessario recuperarli.
Viaggio nel tempo
Puoi accedere ai dati da qualsiasi punto all'interno della finestra di spostamento cronologico, che per impostazione predefinita copre gli ultimi sette giorni. I viaggi nel tempo consentono di eseguire query sui dati aggiornati o eliminati, ripristinare una tabella o un set di dati eliminati o 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. L'impostazione predefinita è sette giorni. Imposta la finestra di spostamento cronologico a livello del set di dati, che poi viene 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 di abbreviarla laddove non è necessario. L'utilizzo di una finestra di spostamento cronologico più breve ti consente di risparmiare sui costi di archiviazione quando utilizzi il modello di fatturazione dell'archiviazione fisica. Questi risparmi non si applicano quando utilizzi il modello di fatturazione logico dell'archiviazione.
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 che era in vigore al momento dell'eliminazione.
Ad esempio, se imposti una durata di due giorni per una finestra di spostamento cronologico e poi aumenterai la durata a sette giorni, le tabelle eliminate prima della modifica saranno comunque recuperabili solo per due giorni. Analogamente, se hai una finestra di spostamento cronologico di cinque giorni e la riduci a tre giorni, le tabelle eliminate prima della modifica saranno recuperabili per cinque giorni.
Poiché le finestre di spostamento cronologico sono impostate a livello del set di dati, non puoi modificare la finestra di spostamento cronologico di un set di dati eliminato fino a quando 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 recuperabilità più lungo per quei dati, puoi creare uno snapshot della tabella da un momento specifico prima dell'eliminazione della tabella. Devi eseguire questa operazione mentre la tabella eliminata è ancora recuperabile. Per maggiori informazioni, consulta Creare uno snapshot di 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 spostamento cronologico di 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 di un set di dati esistente, consulta Aggiornare le finestre di spostamento cronologico.
Se il timestamp specifica un periodo di tempo fuori dalla finestra di spostamento cronologico o precedente alla creazione della tabella, la query non riesce e restituisce un errore come il 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 dispone o ha avuto criteri di accesso a livello di riga, solo un amministratore della tabella può accedere ai relativi dati storici.
È 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 |
L'autorizzazione bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
non può essere aggiunta a un ruolo personalizzato.
Esegui questo comando per ottenere la durata equivalente di Unix epoch:
date -d '2023-08-04 16:00:34.456789Z' +%s000
Sostituisci l'ora del periodo UNIX
1691164834000
ricevuta dal comando precedente nello strumento a riga di comando bq. Esegui questo comando per ripristinare una copia della tabella eliminatadeletedTableID
in un'altra tabellarestoredTable
, all'interno dello stesso set di datimyDatasetID
: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 i dati siano disponibili per il recupero di emergenza. I dati sono recuperabili a livello di tabella. I dati di una tabella vengono recuperati dal momento indicato dal timestamp relativo all'eliminazione. Il periodo di sicurezza non è configurabile.
Non puoi eseguire query o recuperare direttamente i dati nello spazio di archiviazione a prova di errore. Per recuperare i dati dallo spazio di archiviazione a prova di errore, contatta l'assistenza clienti Google Cloud.
Fatturazione
Se imposti il modello di fatturazione dello spazio di archiviazione in modo che utilizzi i byte fisici, i costi totali di archiviazione che ti vengono fatturati includono i byte utilizzati per il viaggio nel tempo e l'archiviazione a prova di errore. I viaggi nel tempo e l'archiviazione a prova di errore 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 il modello di fatturazione dello spazio di archiviazione viene impostato in modo da utilizzare i byte logici, i costi totali di archiviazione che ti vengono fatturati non includono i byte utilizzati per il viaggio nel tempo o per l'archiviazione a prova di errore.
La tabella seguente mostra un confronto dei costi di archiviazione fisici e logici:
Modello di fatturazione | Per cosa paghi? |
---|---|
Archiviazione fisica (compressa) |
|
Archiviazione logica (non compressa) (impostazione predefinita) |
|
Se utilizzi l'archiviazione fisica, puoi vedere i byte utilizzati dal viaggio nel tempo e per la protezione da errori esaminando 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 Fatturazione relativa all'archiviazione della previsione.
Esempio di archiviazione fisica
La tabella seguente mostra come 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 vengono eliminati 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 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
- Viaggio nel tempo fornisce l'accesso solo ai dati storici 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 di tabella.
- Se una tabella ha, o ha avuto in precedenza, criteri di accesso a livello di riga, i viaggi nel tempo possono essere utilizzati solo dagli amministratori della tabella. Per maggiori informazioni, consulta Viaggio nel tempo e accesso a livello di riga.
- Il viaggio nel tempo non ripristina i metadati della tabella.
Passaggi successivi
- Scopri come eseguire query e recuperare i dati sui viaggi nel tempo.
- Scopri di più sugli snapshot delle tabelle.