Compartilhar via


Migrar o MongoDB para o Azure DocumentDB offline usando ferramentas nativas do MongoDB

Neste tutorial, você usa ferramentas nativas do MongoDB para executar uma migração offline (única) de um banco de dados de uma instância local ou de nuvem do MongoDB para o Azure DocumentDB. As ferramentas nativas do MongoDB são um conjunto de binários que facilitam a manipulação de dados em uma instância existente do MongoDB. O foco deste documento é migrar dados de uma instância do MongoDB usando mongoexport/mongoimport ou mongodump/mongorestore. Como as ferramentas nativas se conectam ao MongoDB usando cadeias de conexão, você pode executar as ferramentas em qualquer lugar. As ferramentas nativas podem ser a solução mais simples para pequenos conjuntos de dados em que o tempo total de migração não é uma preocupação.

Pré-requisitos

  • Uma assinatura do Azure

    • Se você não tiver uma assinatura do Azure, crie uma conta gratuita
  • Um cluster existente do Azure DocumentDB

Prepare

Antes de iniciar a migração, certifique-se de ter preparado sua conta do Azure DocumentDB e sua instância existente do MongoDB para migração.

  • Instância do MongoDB (origem)
    • Conclua a avaliação de pré-migração para verificar se há uma lista de incompatibilidades e avisos entre a sua instância de origem e a conta de destino.
    • Verifique se as ferramentas nativas do MongoDB correspondem à mesma versão da instância existente (origem) do MongoDB.
      • Se a instância do MongoDB tiver uma versão diferente do Azure DocumentDB, instale as duas versões de ferramenta nativa do MongoDB e use a versão de ferramenta apropriada para MongoDB e Azure DocumentDB, respectivamente.
    • Adicione um usuário com readWrite permissões, a menos que já exista um. Você eventualmente usará essa credencial com as ferramentas mongoexport e mongodump .
  • Azure DocumentDB (destino)

Dica

É recomendável executar essas ferramentas na mesma rede que a instância do MongoDB para evitar mais problemas de firewall.

Escolha a ferramenta nativa apropriada do MongoDB

Há algumas considerações de alto nível ao escolher a ferramenta nativa certa do MongoDB para sua migração offline.

Realizar a migração

Migre uma coleção da instância do MongoDB de origem para a conta do Azure DocumentDB de destino usando sua ferramenta nativa preferida. Para obter mais informações sobre como selecionar uma ferramenta, consulte as opções de migração.

Dica

Se você simplesmente tiver um pequeno arquivo JSON que deseja importar para o Azure DocumentDB, a ferramenta mongoimport será uma solução rápida para ingerir os dados.

  1. Para exportar os dados da instância do MongoDB de origem, abra um terminal e use qualquer um dos três métodos listados aqui.

    • Especifique os argumentos --host, --username e --password para se conectar e exportar registros JSON.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --out <filename>.json
      
    • Exporte um subconjunto dos dados do MongoDB adicionando um --query argumento. Esse argumento garante que a ferramenta exporte apenas documentos que correspondam ao filtro.

      mongoexport \
          --host <hostname><:port> \
          --username <username> \
          --password <password> \
          --db <database-name> \
          --collection <collection-name> \
          --query '{ "quantity": { "$gte": 15 } }' \
          --out <filename>.json
      
    • Exportar dados do Azure DocumentDB.

      mongoexport \
          --uri <target-connection-string>
          --db <database-name> \
          --collection <collection-name> \
          --query '{ "quantity": { "$gte": 15 } }' \
          --out <filename>.json
      
  2. Importe o arquivo exportado anteriormente para a conta do Azure DocumentDB de destino.

    mongoimport \
        --file <filename>.json \
        --type json \
        --db <database-name> \
        --collection <collection-name> \
        --ssl \
        --uri <target-connection-string>
    
  3. Monitore a saída do terminal do mongoimport. A saída imprime linhas de texto no terminal com atualizações sobre o status da operação de importação.

Próxima etapa