Compartir a través de


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

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)

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.

  1. 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 --hostargumentos, --usernamey --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
      
  2. 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>
    
  3. 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.

Paso siguiente