Docs Menu
Docs Home
/
MongoDB Mongosync
/

Limitaciones

Advertencia

mongosync no verifica el cumplimiento de las limitaciones documentadas. Es importante asegurarse de que la aplicación no se vea afectada por las limitaciones.Ejecutar mongosync en presencia de una de estas limitaciones podría provocar un comportamiento indefinido en el clúster de destino.

Debe respetar estas limitaciones durante toda la migración, incluso cuando la migración esté pausada o detenida si se reanudará.

Nota

Para obtener información sobre la compatibilidad del servidor MongoDB, consulte Compatibilidad de versiones del servidor MongoDB.

  • mongosync No se admiten actualizaciones locales de la versión del servidor que modifiquen la versión principal o secundaria durante una migración. mongosync sí permite actualizaciones de versiones de parche. Para obtener más información, consulte las instrucciones de actualización del servidor.

  • El clúster de destino debe estar vacío.

  • mongosync No valida que los clústeres o el entorno estén configurados correctamente.

  • Otros clientes no deben escribir en el clúster de destino mientras mongosync se esté ejecutando.

  • Si desea iniciar el proceso de confirmación y no enableUserWriteBlocking true configuró en cuando utilizó el punto start final, debe evitar las escrituras en el clúster de origen antes de iniciar el proceso de confirmación.

  • Las colecciones del sistema.* no se replican.

  • No se admiten documentos que tengan nombres de campos que comiencen con el símbolo dólar ($). Consulte Nombres de campos con puntos y signos de dólar.

  • Los clústeres sin servidor no son compatibles.

  • No se admite un nivel compartido de MongoDB.

  • No se admiteel cifrado consultable.

  • No se puede sincronizar una colección que tenga un índice único y un índice no único definido en los mismos campos.

  • Antes de intentar ejecutar mongosync con un clúster Atlas M10+, desactive la Require Indexes for All Queries opción.

  • mongosync No sincroniza usuarios ni roles.

  • mongosync no replica operaciones realizadas en el clúster de origen durante la sincronización con el clúster de applyOps destino.

  • mongosync debe leer desde el clúster de origen utilizando la primary preferencia de lectura.

  • mongosync no admite clústeres de origen o destino que actualmente estén actualizando versiones de MongoDB.

  • mongosync no admite la sincronización de índices de búsqueda de Atlas.

  • mongosync Solo admite clústeres que utilizan el motor de almacenamiento WiredTiger.

  • No se puede sincronizar una colección con ningún documento que tenga una marca de tiempo vacía, como Timestamp(0,0) en clústeres de origen anteriores a6.0.

MongoDB no prueba Mongosync con compilaciones comunitarias y, en la mayoría de los casos, no ofrece soporte para Mongosync con implementaciones comunitarias. Si desea usar Mongosync con MongoDB Community Edition, contacte con un representante de ventas de MongoDB para hablar sobre los requisitos y las opciones personalizadas.

  • mongosync No admite la sincronización desde un clúster fragmentado a un conjunto de réplicas.

  • mongosync no admite la sincronización con una topología de clúster fragmentada con uno o más árbitros.

  • mongosync No admite la sincronización hacia o desde clústeres globales.

  • Si su clúster ejecuta MongoDB 6.0 o una versión anterior, ejecute el cleanupOrphaned comando para limpiar los documentos huérfanos.

  • La sincronización desde un conjunto de réplicas a un clúster fragmentado tiene las siguientes limitaciones:

    • mongosync Permite a los usuarios renombrar las colecciones que sharding.shardingEntries incluye la opción durante la sincronización, con algunas limitaciones. Para más información,consulte "Renombrar durante la sincronización".

    • Si usa la opción sharding.createSupportingIndexes, los índices se crean automáticamente en el clúster de destino durante la sincronización. No podrá crearlos posteriormente en el clúster de origen.

    • Si desea crear un índice para admitir claves de fragmentos manualmente, debe crear el índice antes de que comience mongosync o después de que se complete la migración y mongosync se haya detenido.

  • Dentro de una colección, el _id campo debe ser único en todos los fragmentos del clúster. Consulte Clústeres fragmentados e índices únicos para obtener más información.

  • El movePrimary comando no se puede utilizar para reasignar el fragmento principal durante la sincronización.

  • No hay replicación para la configuración de zonas. mongosync replica datos, no hereda zonas.

  • No se pueden agregar ni eliminar particiones mientras se está sincronizando.

  • mongosync solo sincroniza los índices que existen en todas las particiones.

  • mongosync solo sincroniza índices que tienen especificaciones de índice consistentes en todos los fragmentos.

    Nota

    Para comprobar si hay inconsistencias en el índice, consulte Buscar índices inconsistentes en distintos fragmentos.

  • Debe detener el balanceador en los clústeres de origen y destino fragmentados durante toda la vida útil de una migración. Para detenerlo, ejecute el comando y espere a que se balancerStop complete.

    Nota

    Después de detener el balanceador, espere quince minutos antes de iniciar mongosync. Esto le da tiempo al clúster para finalizar cualquier migración de fragmentos en curso.

  • No debe ejecutar los moveChunk comandos y en los clústeres de origen o destino.moveRange

  • La clave de fragmento no se puede refinar durante la sincronización.

  • Las operaciones del clúster de origen no se admiten durante la reshardCollection sincronización.

  • La cantidad máxima de índices por colección fragmentada es,63 que es uno menos que el límite predeterminado 64 de.

  • mongosync Solo admite la sincronización de colecciones fragmentadas que tengan configuraciones de intercalación predeterminadas.

  • Si la fuente antigua tiene índices únicos distribuidos parcialmente entre fragmentos, la reversión puede causar fallos. Asegúrese de que existan índices únicos en todos los fragmentos antes de revertir.

  • Los clústeres de origen y destino deben tener el mismo número de fragmentos. No se puede revertir la sincronización cuando los clústeres tienen topologías o versiones principales diferentes.

  • Para invertir la dirección, requieremongosync que todos los índices únicos en el clúster de origen _id (excepto) no tengan claves de índice únicas heredadas.

  • mongosync No admite la sincronización de varios clústeres de origen con un clúster de destino.

  • Un clúster no puede ser simultáneamente un clúster de origen en una instancia mongosync y un clúster de destino en otra instancia mongosync.

  • El filtrado no es compatible con la sincronización reversible.

  • El clúster de destino no debe contener datos de usuario antes del inicio.

  • El clúster de destino no debe contener la base de datos del sistema mongosync_reserved_for_internal_use antes de iniciar.

  • No se puede modificar un filtro en uso. Para crear un filtro nuevo, consulte: Reemplazar un filtro existente.

  • Solo se pueden renombrar colecciones en ciertas situaciones. Para más información, consulte: Agregar y renombrar colecciones.

  • Si un filtro incluye una vista, pero no la colección base, solo los metadatos de la vista se sincronizan con el clúster de destino. Para incluir los documentos de la vista, también debe sincronizar la colección base.

  • No se pueden especificar colecciones del sistema ni bases de datos del sistema en un filtro.

  • Para usar la $out etapa de agregación o el comando (cuando mapReduce se configura para crear o reemplazar una colección) con filtrado, debe configurar el filtro para que use toda la base de datos. No puede limitar el filtro a colecciones dentro de la base de datos.

    Para obtener más información,consulte Filtrado con mapReduce y $out.

A partir 1.3.0 de, Mongosync admite colecciones limitadas con algunas limitaciones.

Las colecciones limitadas en el clúster de origen funcionan normalmente durante la sincronización.

Las colecciones limitadas en el clúster de destino tienen cambios temporales durante la sincronización:

  • No hay un número máximo de documentos.

  • El tamaño máximo de colección es 1PB.

mongosync restaura los valores originales para la cantidad máxima de documentos y el tamaño máximo de documentos durante la confirmación.

Mongosync no replica las colecciones del sistema en el clúster de destino.

Si ejecuta un comando en el clúster de origen, este cambio no se aplica directamente al clúster de destino. En su lugar, Mongosync elimina las colecciones de usuarios y las vistas de la base de datos del clúster de destino, pero no las colecciones del sistema en esa base de dropDatabase datos.

Por ejemplo, en el clúster de destino:

  • La operación de eliminación no afecta a una colección creada por el usuario.system.js

  • Si habilita la creación de perfiles, la colección system.profile permanece.

  • Si crea vistas en el clúster de origen y luego elimina la base de datos, al replicar la eliminación se eliminan las vistas, pero se deja una colección system.views vacía.

En estos casos, la replicación de dropDatabase elimina todas las colecciones creadas por el usuario de la base de datos, pero deja las colecciones del sistema en el clúster de destino.

mongosync No se admiten compilaciones de índices continuas durante la migración. Para evitar la compilación continua de índices durante la migración, utilice uno de los siguientes métodos para garantizar que los índices de destino coincidan con los de origen:

  • Construya el índice en la fuente antes de la migración.

  • Construya el índice en la fuente durante la migración con una compilación de índice predeterminada.

  • Construya el índice en el destino después de la migración.

A partir de 1.9, mongosync puede usar un verificador incorporado para confirmar la sincronización exitosa de las recopilaciones del clúster de origen al clúster de destino.

El verificador integrado no está disponible en mongosync 1.8 y anteriores.

Para métodos de verificación alternativos, ve Verificar transferencia de datos.

El verificador integrado tiene las siguientes limitaciones:

  • El verificador no admite clústeres fragmentados. Si la migración incluye un clúster fragmentado, mongosync deshabilita el verificador.

  • mongosync Almacena el estado del verificador en memoria, lo que puede generar una sobrecarga de memoria significativa. Para ejecutar el verificador, mongosync requiere aproximadamente 10 GB de memoria, más 500 MB adicionales por cada 1 millones de documentos.

  • El verificador no se puede reanudar. Si un usuario detiene o pausa la sincronización y luego reinicia mongosync por cualquier motivo, el proceso de verificación se reinicia desde el principio. Esto puede provocar que la verificación se retrase considerablemente con respecto a la migración.

  • El punto final /reverse desactiva el verificador. Permanece desactivado tras llamadas adicionales al /reverse punto final.

  • Si inicia la sincronización con la verificación habilitada y buildIndexes configurado en never, la migración fallará si mongosync encuentra una colección TTL en el clúster de origen. Esto puede ocurrir después de llamar al punto de conexión /start o mucho más tarde, por ejemplo, cuando un usuario crea un índice TTL en el clúster de origen durante una migración en curso.

    Para sincronizar colecciones TTL sin crear índices en el clúster de destino, debe iniciar la sincronización con el verificador deshabilitado.

  • Si realiza una actualización en vivo desde cualquier versión anterior a 1.9.0, mongosync deshabilita la verificación incorporada.

El verificador no comprueba los siguientes espacios de nombres:

  • Colecciones limitadas

  • Colecciones con índices TTL, incluidos los índices TTL que se agregan o eliminan durante la migración

  • Colecciones que no utilizan la intercalación predeterminada

  • Vistas

El verificador no revisa las siguientes funcionalidades de colección:

  • Metadatos de la colección

  • Indexes

Para verificar los datos y metadatos anteriores, cree comprobaciones adicionales para estas colecciones y sus características. Para obtener más información, consulte Verificar la transferencia de datos.

Volver

Dirección para sincronizar a la inversa

En esta página