Migración de MongoDB al núcleo virtual de Azure Cosmos DB for MongoDB desconectado mediante las herramientas nativas de MongoDB
SE APLICA A: núcleo virtual de MongoDB
En este tutorial, se usan las herramientas nativas de MongoDB para realizar una migración sin conexión (única) de una base de datos desde una instancia local o en la nube de MongoDB a Azure Cosmos DB for MongoDB de núcleo virtual. Las herramientas nativas de MongoDB son un conjunto de archivos binarios que facilitan la manipulación de datos en una instancia de MongoDB existente. Este documento se centra en la migración de datos de una instancia de MongoDB mediante mongoexport/mongoimport o mongodump/mongorestore. Puesto que las herramientas nativas se conectan a MongoDB mediante cadenas de conexión, puede ejecutar las herramientas dondequiera. Las herramientas nativas podrían ser la solución más eficaz para conjuntos de datos pequeños donde el tiempo total de migración no sea una preocupación.
Requisitos previos
- Un clúster existente de núcleos virtuales de Azure Cosmos DB for MongoDB.
- Si no tiene una suscripción de Azure, cree una cuenta gratuita.
- Si tiene una suscripción de Azure existente, cree un clúster de núcleo virtual de Azure Cosmos DB for MongoDB.
- Herramientas nativas de MongoDB instaladas en su máquina.
Preparación
Antes de iniciar la migración, asegúrese de que ha preparado la cuenta de núcleo virtual de Azure Cosmos DB for MongoDB y la instancia de MongoDB existente para la migración.
- Instancia de MongoDB (origen)
- Complete la evaluación de la migración previa para determinar si hay una lista de incompatibilidades y advertencias entre la instancia de origen y la cuenta de destino.
- Asegúrese de que las herramientas nativas de MongoDB coincidan con la misma versión que la instancia de MongoDB existente (origen).
- Si la instancia de MongoDB tiene una versión diferente del núcleo virtual de Azure Cosmos DB for MongoDB, instale ambas versiones de la herramienta nativa de MongoDB y use la versión de herramienta adecuada para MongoDB y el núcleo virtual de Azure Cosmos DB for MongoDB, respectivamente.
- Agregue un usuario con permisos
readWrite
, a menos que ya exista uno. Eventualmente, usará esta credencial con las herramientas mongoexport y mongodump.
- Núcleo virtual de Azure Cosmos DB for MongoDB (destino)
- Recopilar las credenciales de la cuenta, del núcleo virtual de Azure Cosmos DB for MongoDB.
- Configuración del firewall en los núcleos virtuales de Azure Cosmos DB for MongoDB.
Sugerencia
Se recomienda ejecutar estas herramientas dentro de la misma red que la instancia de MongoDB para evitar más problemas de firewall.
Elección de la herramienta nativa de MongoDB adecuada
Hay algunas consideraciones de alto nivel al elegir la herramienta nativa de MongoDB adecuada para la migración sin conexión.
Realización de la migración
Migre una colección de la instancia de MongoDB de origen a la cuenta de núcleo virtual de Azure Cosmos DB for MongoDB de destino mediante la herramienta nativa preferida. Para obtener más información sobre cómo seleccionar una herramienta, consulte Herramientas nativas de MongoDB
Sugerencia
Si sencillamente dispone de un pequeño archivo JSON que desea importar al núcleo virtual de Azure Cosmos DB for MongoDB, la herramienta mongoimport es una solución rápida para ingerir los datos.
Para exportar los datos desde la instancia de MongoDB de origen, abra un terminal y use cualquiera de los tres métodos que se enumeran aquí.
Especifique los
--host
argumentos,--username
y--password
para conectarse a los registros JSON y exportarlos.mongoexport \ --host <hostname><:port> \ --username <username> \ --password <password> \ --db <database-name> \ --collection <collection-name> \ --out <filename>.json
Exporte un subconjunto de los datos de MongoDB agregando un argumento
--query
. Este argumento garantiza que la herramienta solo exporta documentos que coincidan con el filtro.mongoexport \ --host <hostname><:port> \ --username <username> \ --password <password> \ --db <database-name> \ --collection <collection-name> \ --query '{ "quantity": { "$gte": 15 } }' \ --out <filename>.json
Exportación de datos desde el núcleo virtual de Azure Cosmos DB for MongoDB.
mongoexport \ --uri <target-connection-string> --db <database-name> \ --collection <collection-name> \ --query '{ "quantity": { "$gte": 15 } }' \ --out <filename>.json
Importe el archivo exportado anteriormente en la cuenta de núcleo virtual de Azure Cosmos DB for MongoDB de destino.
mongoimport \ --file <filename>.json \ --type json \ --db <database-name> \ --collection <collection-name> \ --ssl \ --uri <target-connection-string>
Supervise la salida del terminal desde mongoimport. La salida imprime líneas de texto en el terminal con actualizaciones en el estado de la operación de importación.