Backups automatizados

Os usuários do plano Blaze podem configurar o Firebase Realtime Database para fazer backups automáticos. Esse recurso de autoatendimento permite fazer backups diários das regras e dos dados do app do Database no formato JSON em um bucket do Cloud Storage.

Configuração

Para começar, acesse a guia Backups na seção Database do console do Firebase. Em seguida, siga as instruções do assistente para configurar os backups automatizados.

Por padrão, ativamos a compactação Gzip para reduzir os custos de armazenamento. É possível ativar a política de ciclo de vida de 30 dias no bucket para que os backups com mais de 30 dias sejam excluídos automaticamente.

Acesse o status e a atividade de backup diretamente no console do Firebase, onde também é possível iniciar um backup manual. Isso pode ser útil caso precise de snapshots de um horário específico ou como uma medida de segurança antes de alterar o código.

Após a configuração, um novo bucket do Cloud Storage será criado para você com a permissão WRITER para o Firebase. Nesse bucket, não armazene dados que o Firebase possa acessar. O Firebase não terá acesso extra aos outros buckets do Cloud Storage ou a outras áreas do Google Cloud.

Restaurar a partir de um backup

Para restaurar o Firebase com base em um backup, primeiro faça o download do arquivo do Cloud Storage para o disco local. Para isso, clique no nome de arquivo na seção de atividade de backup ou na interface do bucket do Cloud Storage. É necessário descompactar o arquivo, caso ele seja um arquivo Gzip.

Há duas maneiras de importar os dados:

Método 1: clique no botão "Importar JSON" na seção Dados do Database e selecione o arquivo de dados JSON do aplicativo.

Método 2: você também pode executar uma solicitação CURL na linha de comando.

Primeiro, recupere uma chave secreta do Firebase, que pode ser obtida na página Configurações de banco de dados.

Em seguida, insira estas informações no terminal, substituindo os campos DATABASE_NAME e SECRET pelos seus valores:

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

Se tiver problemas para restaurar o backup de um banco de dados muito grande, entre em contato com a nossa equipe de suporte.

Programação

O backup diário do Database é definido em um horário específico que garante uma carga balanceada e maior disponibilidade para todos os clientes. Essa programação ocorrerá independentemente dos backups manuais que você faz ao longo do dia.

Como nomear arquivos

Os arquivos transferidos para o bucket do Cloud Storage são marcados com um carimbo de data/hora (padrão ISO 8601) e usam as seguintes convenções de nomenclatura:

  • Dados do banco de dados: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • Regras do banco de dados: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

Caso a Gzip esteja ativada, um sufixo .gz será anexado aos nomes de arquivos. Localize facilmente os backups de uma data ou hora específica usando a pesquisa de prefixos do Cloud Storage.

Compactação Gzip

Por padrão, compactamos os arquivos de backup com a Gzip para reduzir os custos de armazenamento e diminuir o tempo de transferência. O tamanho do arquivo compactado varia de acordo com as características dos dados do banco de dados. No entanto, os bancos de dados comuns podem chegar a ⅓ do tamanho original, reduzindo os custos de armazenamento e diminuindo o tempo de upload dos backups.

Para descompactar os arquivos JSON, execute o binário gunzip na linha de comando, que é fornecido por padrão no OS-X e na maioria das distribuições do Linux.

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

Ciclo de vida de 30 dias do armazenamento

Oferecemos um switch de configuração fácil de usar que ativa uma política de ciclo de vida de objeto padrão de 30 dias para o bucket do Cloud Storage. Com esse recurso ativado, os arquivos do bucket são excluídos automaticamente após 30 dias. Isso ajuda a diminuir o número de backups antigos e indesejados, reduzir os custos de armazenamento e manter o diretório do bucket limpo. Se você coloca outros arquivos no bucket de backups automatizados, eles também são excluídos com a mesma política.

Custos

O recurso de backups pode ser ativado para projetos no plano Blaze sem custo adicional. No entanto, você vai receber cobranças de acordo com as taxas padrão para os arquivos de backup armazenados no bucket do Cloud Storage. É possível ativar a compactação Gzip e o ciclo de vida de 30 dias de armazenamento para reduzir os custos com armazenamento.