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
- Um cluster vCore existente do Azure Cosmos DB para MongoDB.
- Se você não tiver uma assinatura do Azure, crie uma conta gratuitamente.
- Se você tiver uma assinatura existente do Azure, crie um novo cluster vCore do Azure Cosmos DB para MongoDB.
- Ferramentas nativas do MongoDB instaladas em sua máquina.
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)
- Reúna as credenciais da conta vCore do Azure Cosmos DB para MongoDB.
- Configure as configurações de firewall no Azure Cosmos DB para MongoDB vCore.
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.
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 ,
--username
e--password
os--host
argumentos 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
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>
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.