Migrar seus dados

Depois de otimizar o esquema do Spanner e migrar o aplicativo, você pode mover seus dados para um banco de dados do Spanner vazio no tamanho de produção e, em seguida, mudar o aplicativo para usar o banco de dados do Spanner.

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

Se o aplicativo não puder ter muito tempo de inatividade, faça uma migração de dados em tempo real. Se o aplicativo puder lidar com o tempo de inatividade, considere migrar com o 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 de destino do Spanner e as ferramentas usadas para realizar a migração de dados. Você precisa decidir entre a conectividade de rede privada ou pública, dependendo dos requisitos de compliance da sua organização. Talvez você precise do administrador de rede da sua organização para configurar a infraestrutura.

Migração de dados em tempo real

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

  • Migrar os dados em um snapshot consistente do seu banco de dados de origem.
  • Migrar o fluxo de alterações (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 seus dados, o processo envolve desafios, incluindo os seguintes:

  • Armazenar dados de CDC enquanto o snapshot está sendo migrado.
  • Gravação dos dados do CDC no Spanner enquanto captura o fluxo de CDC entrante.
  • Garantir que a migração de dados do 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 ser exportado para CSV ou Avro, você poderá migrar para o Spanner com inatividade. Para mais informações, consulte a Visão geral de importação e exportação do Spanner.

As migrações com 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 inatividade pode resultar na perda de dados.

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

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

A geração de vários arquivos de despejo pequenos torna a gravação no Spanner mais rápida, já que ele pode ler vários arquivos de despejo em paralelo.

Ao gerar um arquivo de despejo do banco de dados de origem, considere o seguinte para gerar um snapshot consistente de dados:

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

Guias específicos da fonte