Compartilhar via


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

APLICA-SE AO: MongoDB vCore

Neste tutorial, você usará as ferramentas nativas do MongoDB para fazer uma migração offline (única) de um banco de dados por meio de uma instância local ou de nuvem do MongoDB para o Azure Cosmos DB for 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 é a migração de dados para fora 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

Preparação

Antes de iniciar a migração, verifique se você preparou sua conta do Azure Cosmos DB for MongoDB vCore e sua instância existente do MongoDB para a migração.

  • Instância do MongoDB (origem)
    • Conclua a avaliação pré-migração para determinar se há uma lista de incompatibilidades e avisos entre a 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 sua instância do MongoDB tiver uma versão diferente do Azure Cosmos DB for MongoDB vCore, então instale ambas as versões da ferramenta nativa do MongoDB e use a versão de ferramenta apropriada para o MongoDB e para o Azure Cosmos DB for MongoDB, respectivamente.
    • Adicione um usuário com as permissões do readWrite, a menos que já exista um. Por fim, use essa credencial com as ferramentas mongoexport e mongodump.
  • Azure Cosmos DB for MongoDB vCore (destino)

Dica

Recomendamos executar essas ferramentas na mesma rede da instância do MongoDB para evitar outros problemas de firewall.

Escolha a ferramenta nativa MongoDB apropriada

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 de origem do MongoDB para a conta de destino do Azure Cosmos DB for MongoDB vCore usando sua ferramenta nativa preferida. Para obter mais informações sobre como selecionar uma ferramenta, confira Ferramentas nativas do MongoDB

Dica

Caso você tenha apenas um pequeno arquivo JSON que deseje importar para o Azure Cosmos DB for MongoDB vCore, a ferramenta mongoimport é uma solução rápida para ingerir os dados.

  1. Para exportar os dados da instância de origem do MongoDB, abra um terminal e use 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 argumento --query. 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 Cosmos DB for 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 de destino do Azure Cosmos DB for MongoDB vCore.

    mongoimport \
        --file <filename>.json \
        --type json \
        --db <database-name> \
        --collection <collection-name> \
        --ssl \
        --uri <target-connection-string>
    
  3. Monitore a saída do terminal de 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