Backup automatici

Gli utenti del piano Blaze possono configurare Firebase Realtime Database per i backup automatici, una funzionalità self-service che consente di eseguire backup giornalieri dei dati delle applicazioni di database e delle Security Rules in formato JSON in un Cloud Storage bucket.

Configurazione

  1. Nella console Firebase, vai a Database e spazio di archiviazione > Realtime Database.

  2. Nella scheda Backup, utilizza il flusso di lavoro nella console per configurare i backup automatici.

Per ridurre i costi di archiviazione, abilitiamo la compressione Gzip per impostazione predefinita e puoi scegliere di abilitare una norma sul ciclo di vita degli oggetti di 30 giorni nel bucket per eliminare automaticamente i backup più vecchi di 30 giorni.

Puoi visualizzare lo stato e l'attività di backup direttamente nella console Firebase dove puoi anche avviare un backup manuale. Questa opzione può essere utile per eseguire snapshot temporizzati specifici o come azione di sicurezza prima di apportare modifiche al codice.

Una volta configurato, verrà creato un nuovo bucket Cloud Storage con l'autorizzazione WRITER per Firebase. Non devi archiviare in questo bucket dati a cui non vuoi che Firebase abbia accesso. Firebase non avrà accesso aggiuntivo agli altri bucket Cloud Storageo ad altre aree di Google Cloud.

Ripristino dai backup

Per ripristinare Firebase da un backup, scarica prima il file da Cloud Storage sul disco locale. Puoi farlo facendo clic sul nome file nella sezione delle attività di backup o dall'interfaccia del bucketCloud Storage. Se il file è compresso con Gzip, prima decomprimi il file.

Hai due opzioni per importare i dati:

  • Opzione 1: utilizza la console Firebase.

    1. Vai alla scheda Database e spazio di archiviazione > Realtime Database > Dati.

    2. Fai clic su Importa JSON e seleziona il file JSON dei dati dell'applicazione.

  • Opzione 2: invia una richiesta CURL dalla riga di comando.

    1. Recupera un secret da Firebase, che puoi ottenere dalla scheda Database e spazio di archiviazione > Realtime Database > Impostazioni.

    2. Inserisci quanto segue nel terminale, sostituendo i campi DATABASE_NAME e SECRET con i tuoi valori:

      curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json
      

Se hai difficoltà a ripristinare un backup da un database di grandi dimensioni, contatta l'assistario Firebase.

Programmazione

Al backup del database viene assegnata un'ora specifica ogni giorno che garantisce un carico uniforme e la massima disponibilità per tutti i clienti di backup. Questo backup pianificato verrà eseguito indipendentemente dai backup manuali eseguiti durante il giorno.

Denominazione dei file

I file trasferiti nel bucket Cloud Storage avranno un timestamp (standard ISO 8601) e utilizzeranno le seguenti convenzioni di denominazione:

  • Dati del database: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • Regole del database: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

Se Gzip è abilitato, ai nomi dei file verrà aggiunto il suffisso .gz. Puoi trovare facilmente i backup di una data o un'ora specifica utilizzando Cloud Storage la ricerca per prefisso.

Compressione con Gzip

Per impostazione predefinita, comprimiamo i file di backup utilizzando la compressione Gzip per ridurre i costi di archiviazione e i tempi di trasferimento. Le dimensioni del file compresso variano a seconda delle caratteristiche dei dati del database, ma i database tipici possono ridursi a ⅓ delle dimensioni originali, consentendoti di risparmiare sui costi di archiviazione e di ridurre il tempo di caricamento dei backup.

Per decomprimere i file JSON compressi con Gzip, esegui un comando della riga di comando utilizzando il file binario gunzip, fornito per impostazione predefinita per OS-X e la maggior parte delle distribuzioni Linux.

gunzip <DATABASE_NAME>.json.gz  # Will unzip to <DATABASE_NAME>.json

Ciclo di vita di 30 giorni per Storage

Offriamo un interruttore di configurazione facile da usare che abilita una norma sul ciclo di vita degli oggetti predefinita di 30 giorni per il bucket Cloud Storage. Quando è abilitata, i file nel bucket vengono eliminati automaticamente dopo 30 giorni. In questo modo, riduci i backup meno recenti indesiderati, risparmi sui costi di archiviazione e mantieni pulita la directory del bucket. Se inserisci altri file nel bucket dei backup automatici, verranno eliminati anche questi con la stessa norma.

Costi

La funzionalità di backup può essere abilitata per i progetti con il piano Blaze senza costi aggiuntivi. Tuttavia, ti verranno addebitate le tariffe standard per i file di backup inseriti nel tuo Cloud Storage bucket. Puoi abilitare la compressione Gzip e il ciclo di vita di 30 giorni per Storage per ridurre i costi di archiviazione.