Ir para o conteúdo

Processo de Backup

Esta página descreve o processo utilizado para realizar backups de dados do BigQuery.

1. Verificação da Quantidade de Dados

Antes de realizar o backup, utilizamos a seguinte query para contar o número de registros na tabela que será exportada:

SELECT
    COUNT(*) AS count
FROM
    `{project_id}.{dataset_id}.{table_id}`

Este valor é utilizado para exportar todos os dados em um único arquivo.

Caso a tabela contenha uma coluna de data, também coletamos a menor e a maior data dos registros que serão salvos:

SELECT
    MIN(data) AS data_inicio,
    MAX(data) AS data_fim
FROM
    `{project_id}.{dataset_id}.{table_id}`

2. Exportação dos Dados para o Google Cloud Storage (GCS)

Após verificar a quantidade de registros, realizamos a exportação dos dados da tabela para o GCS utilizando a seguinte query:

EXPORT DATA
  OPTIONS (
    uri = 'gs://rj-smtr-staging/backup/{dataset_id}/{table_id}/data={data}/{table_id}_00_*.csv',
    format = 'CSV',
    header = TRUE,
    OVERWRITE = TRUE
  ) AS (
    SELECT
      *
    FROM
      `{project_id}.{dataset_id}.{table_id}`
    LIMIT
      {count}
)

Explicação dos parâmetros:

  • uri: O local de destino no GCS onde os arquivos CSV serão salvos. O caminho segue o padrão:
    gs://rj-smtr-staging/backup/{dataset_id}/{table_id}/data={data}/{table_id}_00_*.csv
  • format: O formato do arquivo exportado, que será CSV.
  • header: Indica que o cabeçalho das colunas será incluído no arquivo CSV.
  • OVERWRITE: Permite que arquivos existentes sejam sobrescritos.

Nesta query: - O count é o valor obtido na etapa anterior.

3. Atualização da Planilha de Controle

Após a exportação dos dados, realizamos a atualização de uma planilha de controle no Google Sheets. Esta planilha contém informações sobre cada backup realizado, permitindo que tenhamos um registro dos backups.

As colunas da planilha são:

Coluna Descrição
Data Data em que o backup foi realizado.
dataset_id O ID do dataset do BigQuery.
table_id O ID da tabela que foi exportada.
Local do backup O caminho no GCS onde o backup foi salvo.
Descrição da tabela Descrição da tabela.
Motivo do backup Motivo para a realização do backup.
Lista de colunas Colunas que foram exportadas no backup.
Data início Menor data dos registros exportados (se aplicável).
Data fim Maior data dos registros exportados (se aplicável).

Essas informações permitem o controle dos backups, garantindo a integridade dos dados e facilitando futuras restaurações, se necessário.