Migrar desde MongoDB con mongodump y mongorestore

Lleva una base de datos de MongoDB a TeselaDB con las herramientas que ya usas y cambia la cadena de conexión.

TeselaDB habla el protocolo de MongoDB, así que la migración se hace con mongodump y mongorestore, las herramientas de base de datos de MongoDB. Tu aplicación no cambia: solo su cadena de conexión.

Antes de empezar

  • Un clúster de TeselaDB en marcha (Tu primer clúster) y su CA, pki/ca.pem.
  • Un usuario con el rol restore en TeselaDB, o root para la migración.
  • Las MongoDB Database Tools instaladas en una máquina que vea los dos.

1. Exporta desde MongoDB

Shell
mongodump --uri "mongodb://usuario:<contraseña>@mongo-01:27017/tienda" --gzip --archive=tienda.gz

Si no quieres parar las escrituras durante la copia, exporta todo el replica set con --oplog: el archivo incluye las operaciones que ocurren mientras dura la exportación.

Shell
mongodump --uri "mongodb://usuario:<contraseña>@mongo-01:27017/?replicaSet=rs0" --oplog --gzip --archive=todo.gz

2. Importa en TeselaDB

Shell
mongorestore --uri "mongodb://root:<contraseña>@node-01:27017/?tls=true&tlsCAFile=./ca.pem" \
  --gzip --archive=tienda.gz

Con un archivo hecho con --oplog, añade --oplogReplay para aplicar esas operaciones al final. mongorestore crea también los índices, y TeselaDB reparte cada colección en rangos mientras llegan los documentos.

3. Comprueba los datos

JavaScript
db.pedidos.countDocuments();
db.pedidos.getIndexes();

Compara los recuentos y los índices con los de MongoDB antes de mover el tráfico.

4. Cambia la cadena de conexión

mongodb://tienda-api:<contraseña>@node-01:27017,node-02:27017,node-03:27017/tienda?tls=true&tlsCAFile=./ca.pem

Crea un usuario para la aplicación con solo los roles que necesita (Usuarios y roles) y revisa Diferencias con MongoDB por si tu aplicación depende de algún comportamiento que cambia, como el orden de un find sin sort.

Última actualización