Migrar o MongoDB para o Azure Cosmos DB para MongoDB vCore offline usando ferramentas nativas do MongoDB

APLICA-SE A: MongoDB vCore

Neste tutorial, você usa as ferramentas nativas do MongoDB para executar uma migração offline (única) de um banco de dados de uma instância local ou na nuvem do MongoDB para o Azure Cosmos DB para MongoDB vCore. 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 onde o tempo total de migração não é uma preocupação.

Pré-requisitos

Preparação

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

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

Gorjeta

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

Escolha a ferramenta nativa adequada do MongoDB

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

Executar a migração

Migre uma coleção da instância do MongoDB de origem para a conta vCore do Azure Cosmos DB for MongoDB de destino usando sua ferramenta nativa preferida. Para obter mais informações sobre como selecionar uma ferramenta, consulte Ferramentas nativas do MongoDB

Gorjeta

Se você simplesmente tiver um pequeno arquivo JSON que deseja importar para o Azure Cosmos DB para MongoDB vCore, a ferramenta mongoimport é 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 o , --usernamee --password os --hostargumentos 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
      
    • Exporte dados do Azure Cosmos DB para MongoDB vCore.

      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 vCore do Azure Cosmos DB for MongoDB 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óximo passo