Migrar para o Firestore com compatibilidade com o MongoDB

Este guia mostra o processo de migração do seu banco de dados de origem compatível com o MongoDB para um banco de dados do Firestore com compatibilidade com o MongoDB com tempo de inatividade mínimo.

Sobre o processo de migração

O processo de migração tem as seguintes etapas:

  1. Preparação: você cria os recursos necessários para a migração e configura as variáveis de ambiente que serão usadas para executar comandos nas etapas posteriores do processo de migração.

  2. Importar do banco de dados de origem compatível com o MongoDB: use o serviço Datastream para capturar o conteúdo do seu banco de dados de origem compatível com o MongoDB e transferir para um bucket do Cloud Storage.

  3. Gravar dados no banco de dados do Firestore com compatibilidade com o MongoDB: use o serviço do Dataflow para transferir dados do bucket do Cloud Storage para um banco de dados do Firestore com compatibilidade com o MongoDB.

    Esse pipeline do Dataflow será executado simultaneamente com o fluxo do Datastream que está extraindo dados do banco de dados de origem compatível com o MongoDB.

  4. Migrar o tráfego para o Firestore: no momento adequado do procedimento, migre o tráfego de leitura e gravação do aplicativo para o banco de dados do Firestore com compatibilidade com o MongoDB e interrompa o pipeline de migração.

O diagrama a seguir resume o processo de migração:

Arquitetura de migração de dados de streaming

Seu banco de dados de origem compatível com o MongoDB permanece em um estado de disponibilização enquanto a transferência de dados acontece:

  • O processo do Datastream captura dados em repouso e eventos de mudança.
  • Haverá um breve período de indisponibilidade parcial quando você precisar desligar o tráfego de gravação para o banco de dados de origem. Durante esse período, o restante dos eventos de mudança é replicado para o Firestore.

  • Depois que a replicação for concluída, o banco de dados do Firestore com compatibilidade com o MongoDB poderá se tornar a nova fonte da verdade para sua carga de trabalho do aplicativo. Todo o tráfego de leitura e gravação pode ser direcionado para o novo banco de dados.

Etapas detalhadas da migração

Esta seção descreve a migração com mais detalhes.

O serviço Datastream cria um fluxo entre uma origem e um destino. Nesse caso, a origem é sua implantação atual compatível com o MongoDB, e o destino é o Cloud Storage. Esse processo tem as seguintes etapas:

  1. Crie um perfil de conexão de origem do Datastream para sua origem do MongoDB. As instruções específicas dependem do tipo e da forma como a fonte compatível com o MongoDB é implantada.

  2. Crie um bucket do Cloud Storage que vai receber os dados e os eventos de mudança do seu banco de dados de origem compatível com o MongoDB.

  3. Crie um perfil de conexão de destino do Datastream que use este bucket do Cloud Storage.

  4. Crie e acione um stream do Datastream que conecte o perfil de conexão de origem ao perfil de conexão de destino.

  5. Inicie um pipeline do Dataflow para começar a inserir os dados capturados no seu banco de dados do Firestore com compatibilidade com o MongoDB.

  6. Monitore o fluxo para identificar marcos importantes no processo de migração e determinar se houve erros durante a transferência de dados.

  7. Quando for apropriado, desligue o tráfego de gravação para o banco de dados de origem. Depois que todos os dados, incluindo as mudanças recentes, forem replicados para o banco de dados do Firestore com compatibilidade com o MongoDB, redirecione o tráfego de leitura para o novo destino.

  8. Ative o tráfego de gravação no seu banco de dados do Firestore com compatibilidade com o MongoDB.

Sobre os exemplos de código

Os exemplos de código neste guia devem ser executados um após o outro. Este guia pressupõe que você configure seu ambiente definindo todas as variáveis de ambiente com antecedência. Depois, execute os comandos necessários para a migração que usam as variáveis de ambiente já configuradas. Recomendamos usar essa abordagem. Como muitos comandos usam as mesmas variáveis de ambiente, você pode reduzir a chance de introduzir erros entre diferentes etapas do processo de migração.

Como alternativa, substitua as variáveis nos exemplos de comando pelos mesmos valores definidos para as variáveis de ambiente correspondentes.

Limitações

Antes de começar, revise as diferenças entre o Firestore com compatibilidade com o MongoDB e o MongoDB. Preste atenção especial ao seguinte:

Se algum dos seus dados não atender às restrições nas categorias anteriores:

  • Recomendamos resolver essas condições no conjunto de dados antes de iniciar o processo de migração.

  • Se você continuar sem fazer mudanças, os documentos afetados pelas limitações não serão gravados no Firestore e serão deixados de lado. Você pode decidir como esses documentos devem ser tratados. Se eles forem convertidos para tipos, valores ou tamanhos aceitos, poderão ser reprocessados.

O Datastream tem os seguintes requisitos:

  • A versão principal mínima do MongoDB compatível com o Datastream é a 4.0. Para algumas versões secundárias, há versões mínimas de patch compatíveis:

    • 4.0.21
    • 4.2.10
    • 4.4.2
  • Seu cluster do MongoDB precisa ser compatível com fluxos de alterações. A implantação do MongoDB precisa ser configurada como um conjunto de réplicas ou um cluster fragmentado para que os fluxos de alterações sejam ativados.

A seguir

Prossiga para Configurar recursos para migração.