Migrar seus dados

Depois de otimizar o esquema do Spanner e migrar o aplicativo, mova os dados para um banco de dados do Spanner de produção vazio e, em seguida, mude o aplicativo para usar o banco de dados do Spanner.

Dependendo do seu caso de uso, talvez seja possível realizar uma migração de dados em tempo real com tempo mínimo de inatividade ou talvez seja necessário um tempo de inatividade prolongado para realizar a migração de dados.

Se o aplicativo não puder ficar muito tempo inativo, faça uma migração de dados em tempo real. Se o aplicativo puder lidar com o tempo de inatividade, considere a migração com tempo de inatividade.

Em uma migração de dados em tempo real, é necessário configurar a infraestrutura de rede necessária para que os dados fluam entre o banco de dados de origem, o banco de dados do Spanner de destino e as ferramentas que você está usando para realizar a migração de dados. É necessário decidir sobre a conectividade de rede privada ou pública, dependendo dos requisitos de conformidade da sua organização. Talvez seja necessário que o administrador da rede da sua organização configure a infraestrutura.

Migração de dados em tempo real

Uma migração de dados em tempo real consiste em dois componentes:

  • Migração dos dados em um snapshot consistente do banco de dados de origem.
  • Migração do fluxo de mudanças (inserções, atualizações e exclusões) desde esse snapshot, conhecido como captura de dados alterados (CDC).

Embora as migrações de dados em tempo real ajudem a proteger os dados, o processo envolve desafios, incluindo o seguinte:

  • Armazenar dados de CDC enquanto o snapshot está sendo migrado.
  • Gravar os dados de CDC no Spanner ao capturar o fluxo de CDC recebido.
  • Garantir que a migração de dados de CDC para o Spanner seja mais rápida do que o fluxo de CDC recebido.

Migração com tempo de inatividade

Se o banco de dados de origem puder exportar para CSV ou Avro, você poderá migrar para o Spanner com tempo de inatividade. Para mais informações, consulte a visão geral da importação e exportação do Spanner.

As migrações com tempo de inatividade podem ser usadas para ambientes de teste ou aplicativos que podem lidar com algumas horas de inatividade. Em um banco de dados ativo, uma migração com tempo de inatividade pode resultar em perda de dados.

Para realizar uma migração de tempo de inatividade, considere a seguinte abordagem de alto nível:

  1. Interrompa o aplicativo e gere um arquivo dump dos dados do banco de dados de origem.
  2. Faça upload do arquivo dump para o Cloud Storage em um formato de dump MySQL, PostgreSQL, Avro ou CSV.
  3. Carregue o arquivo dump no Spanner usando o Dataflow ou a ferramenta de migração do Spanner.

A geração de vários arquivos dump pequenos torna mais rápido gravar no Spanner, já que o Spanner pode ler vários arquivos dump em paralelo.

Ao gerar um arquivo dump do banco de dados de origem, tenha em mente o seguinte para gerar um snapshot consistente dos dados:

  • Antes de realizar o dump, aplique um bloqueio de leitura no banco de dados de origem para evitar que os dados mudem durante a geração do arquivo dump.
  • Como alternativa, gere o arquivo dump usando uma réplica de leitura do banco de dados de origem com a replicação desativada.

Guias específicos da origem