Docs Menu
Docs Home
/
MongoDB Mongosync
/

Verificar transferencia de datos

Antes de cambiar la carga de su aplicación del clúster de origen al clúster de destino, debe verificar que la migración se haya realizado correctamente.

A partir de 1.9, mongosync proporciona un verificador integrado que puede realizar una serie de comprobaciones de verificación en el clúster de origen y destino para confirmar que la sincronización fue exitosa.

Debe verificar sus datos después de cada sincronización. Esto es importante si planea mover la carga de su aplicación del clúster de origen al de destino.

Método de verificación
Descripción

Verificador integrado

A partir 1.9 de, mongosync incluye un verificador integrado que ejecuta una serie de comprobaciones en los clústeres de origen y destino para confirmar que la migración se realizó correctamente. Este es el método de verificación preferido para las implementaciones que cumplen los requisitos.

Al mongosync iniciar el proceso, se le solicita al usuario una exención de responsabilidad sobre el verificador integrado. Debe aceptar la exención de responsabilidad o, si ya la ha leído y reconocido, inicie mongosync con la opción para usar el --acceptDisclaimer verificador.

El verificador no comprueba todos los aspectos de una migración:

  • Para verificar la sincronización en espacios de nombres no compatibles y clústeres fragmentados, utilice un método de verificación diferente.

  • Para verificar la sincronización del índice, utilice el método de comparación de índice.

  • Para verificar la sincronización de metadatos, utilice el método de comparación de metadatos.

El método más básico de verificación es comparar la cantidad de documentos en cada colección sincronizada en el clúster de origen con la cantidad en el clúster de destino.

Antes de poder verificar la transferencia de datos con este método, mongosync debe estar en el estado COMMITTED.

Este método solo verifica una sincronización exitosa cuando se ejecuta en clústeres con cargas de trabajo de solo inserción.

Puede verificar la sincronización comparando los hashes MD5 de las colecciones sincronizadas desde el clúster de origen con el clúster de destino.

Antes de poder verificar la transferencia de datos con este método, mongosync debe estar en el estado COMMITTED.

Mientras que la comparación de hashes garantiza que el clúster de destino haya recibido todos los cambios de la fuente, el comando dbHash bloquea el clúster, impidiendo escrituras adicionales hasta que se complete.

La comparación de hashes no es posible con clústeres fragmentados. Tampoco funciona con servidores independientes ni conjuntos de réplicas que usen MongoDB 4.4 o versiones anteriores, ya que el orden de los campos del documento puede variar.

Comparación de documentos

Puede verificar la sincronización comparando documentos en los clústeres de origen y destino.

Escribe un script que consulte las colecciones en el clúster de origen y luego verifique que los documentos, índices, colecciones, metadatos y vistas correctos existan con los mismos valores en el clúster de destino.

Antes de poder verificar la transferencia de datos con este método, mongosync debe estar en el estado COMMITTED.

Comparación de índices

Para verificar la transferencia de índices, ejecute el método en los clústeres de origen y destino y compare los db.collection.getIndexes() resultados.

Comparación de metadatos

Para verificar la transferencia de metadatos, ejecute el método en los clústeres de origen y destino y compare los db.getCollectionInfos() resultados.

Comparación de claves de fragmentos

Para verificar la transferencia de claves de fragmento a una colección sincronizada, ejecute una consulta en la colección config.collections para encontrar un documento cuyo valor _id sea el espacio de nombres de la colección de destino. Compare el valor key de este documento en los clústeres de origen y destino.

Por ejemplo, para una colección llamada pets en la records base de datos, puede verificar la clave del fragmento utilizando la siguiente consulta mongosh en:

db.getSiblingDB("config").collections.find({ _id : "records.pets" })
{
"_id" : "records.pets",
"lastmod" : ISODate("2021-07-21T15:48:15.193Z"),
"timestamp": Timestamp(1626882495, 1),
"key" : {
"_id" : 1
},
"unique" : false,
"lastmodEpoch" : ObjectId("5078407bd58b175c5c225fdc"),
"uuid" : UUID("f8669e52-5c1b-4ea2-bbdc-a00189b341da")
}

Migration Verifier se conecta a los clústeres de origen y destino y realiza una serie de comprobaciones de verificación, comparando documentos, vistas e índices para confirmar que la sincronización fue exitosa.

El método específico que utilice para verificar sus datos depende de la carga de trabajo de su aplicación y de la complejidad de los datos.

Volver

Telemetría

En esta página