Todos los productos
Search
Centro de documentos

Data Transmission Service:Sincronizar un conjunto de réplicas con otro conjunto de réplicas o un clúster fragmentado

Última actualización: Oct 10, 2026

DTS puede sincronizar un conjunto de réplicas de MongoDB con otro conjunto de réplicas o con un clúster fragmentado.

Bases de datos de origen y destino compatibles

A continuación se muestran las bases de datos de origen y destino compatibles para sincronizar datos desde un conjunto de réplicas de MongoDB hacia otro conjunto de réplicas o un clúster fragmentado de MongoDB. Este tema describe el procedimiento de configuración mediante una instancia de conjunto de réplicas de ApsaraDB for MongoDB como origen y una instancia de conjunto de réplicas o clúster fragmentado de ApsaraDB for MongoDB como destino. El proceso es similar para otros orígenes de datos.

Base de datos de origen

Base de datos de destino

Instancia de conjunto de réplicas de ApsaraDB for MongoDB

Instancia de conjunto de réplicas o clúster fragmentado de ApsaraDB for MongoDB

Conjunto de réplicas de MongoDB autogestionado en una instancia ECS

Conjunto de réplicas o clúster fragmentado de MongoDB autogestionado en una instancia ECS

Conjunto de réplicas de MongoDB autogestionado conectado mediante Express Connect, VPN Gateway o Smart Access Gateway

Conjunto de réplicas o clúster fragmentado de MongoDB autogestionado conectado mediante Express Connect, VPN Gateway o Smart Access Gateway

Requisitos previos

  • Debe haber creado una instancia de conjunto de réplicas de ApsaraDB for MongoDB de origen y una instancia de ApsaraDB for MongoDB de destino (conjunto de réplicas o clúster fragmentado). Para obtener instrucciones, consulte Create a replica set instance y Create a sharded cluster instance.

    Nota

    Para conocer las versiones compatibles, consulte Synchronization solution overview.

  • La instancia de ApsaraDB for MongoDB de destino debe contar con, como mínimo, un 10 % más de espacio de almacenamiento que el utilizado por la instancia de ApsaraDB for MongoDB de origen.

  • Si la instancia de ApsaraDB for MongoDB de destino es un clúster fragmentado, cree las bases de datos y colecciones que desea fragmentar. Además, configure la fragmentación de datos, habilite el balanceador y ejecute la prefragmentación en la instancia de ApsaraDB for MongoDB de destino según sus necesidades de negocio. Para obtener más información, consulte Configure data sharding to make full use of shard performance y How to handle unbalanced data distribution in an ApsaraDB for MongoDB sharded cluster.

    Nota

    Configurar la fragmentación de datos distribuye la información sincronizada entre todos los shards, lo que maximiza el rendimiento del clúster. Habilitar el balanceador y ejecutar la prefragmentación ayuda a evitar el sesgo de datos.

Límites

Tipo

Descripción

Límites de la base de datos de origen

  • Requisito de ancho de banda: el servidor donde reside la base de datos de origen debe tener suficiente ancho de banda de salida. De lo contrario, la velocidad de sincronización podría verse afectada.

  • Las colecciones que se van a sincronizar deben tener una clave primaria o una restricción UNIQUE, y los valores de los campos deben ser únicos. En caso contrario, podrían aparecer datos duplicados en la base de datos de destino.

  • Los nombres de campo de los datos no deben contener el carácter "." (punto); de lo contrario, podrían producirse inconsistencias en los datos.

  • Si sincroniza a nivel de colección y necesita editar objetos (por ejemplo, cambiar el nombre de colecciones), cada tarea de sincronización admite hasta 1,000 colecciones. Si supera este límite, la tarea fallará con un error después de enviarla. Para resolverlo, divida las colecciones en lotes y configure varias tareas, o bien configure una tarea de sincronización de base de datos completa.

  • Un solo documento en la base de datos de origen no puede superar los 16 MB. De lo contrario, la tarea fallará.

  • La base de datos de origen no puede ser Azure Cosmos DB for MongoDB ni Amazon DocumentDB (clúster elástico).

  • La base de datos de origen debe tener habilitado Oplog y conservarlo durante al menos siete días. Como alternativa, habilite Change Streams y asegúrese de que DTS pueda suscribirse a los cambios de datos de los últimos siete días mediante Change Streams. De lo contrario, DTS podría no capturar los cambios de datos y provocar un fallo en la tarea. En casos extremos, esto genera inconsistencia o pérdida de datos. Estos problemas no están cubiertos por el acuerdo de nivel de servicio (SLA) de DTS.

    Importante
    • Se recomienda usar Oplog para capturar los cambios de datos.

    • Solo MongoDB 4.0 y versiones posteriores admiten Change Streams. Change Streams no admite la sincronización bidireccional.

    • Si la base de datos de origen es Amazon DocumentDB (clúster no elástico), habilite Change Streams manualmente. Al configurar la tarea, establezca Migration Method en ChangeStream y Architecture en Sharded Cluster.

  • Si las colecciones que se van a sincronizar contienen índices TTL, podrían producirse inconsistencias o latencia en los datos.

  • Límites de operación en la base de datos de origen:

    • Durante la sincronización de esquemas y la sincronización completa de datos, no modifique el esquema de las bases de datos ni de las colecciones (incluidas las actualizaciones de datos de tipo array). De lo contrario, la tarea de sincronización podría fallar o generar inconsistencias entre las bases de datos de origen y destino.

    • Si solo ejecuta la sincronización completa de datos, no escriba datos nuevos en la instancia de origen. En caso contrario, podrían producirse inconsistencias entre las bases de datos de origen y destino.

Otros límites

  • Si la instancia de destino utiliza arquitectura de clúster fragmentado:

    • Elimine los documentos huérfanos. De lo contrario, el rendimiento de la sincronización podría disminuir. Si durante la sincronización aparecen documentos con valores _id en conflicto, podrían producirse inconsistencias en los datos o fallos en la tarea.

    • Antes de iniciar la tarea, agregue a los datos de origen la clave de fragmentación que usa el destino. Si no puede agregar la clave de fragmentación al origen, consulte Synchronize from MongoDB (no shard key) to MongoDB (sharded cluster architecture).

    • Después de iniciar la tarea, las instrucciones INSERT de los datos que se van a sincronizar deben incluir la clave de fragmentación. Las instrucciones UPDATE no pueden modificar dicha clave.

  • Si la instancia de destino utiliza arquitectura ReplicaSet:

    • Cuando Access Method es Express Connect, VPN Gateway, or Smart Access Gateway o Cloud Enterprise Network (CEN), debe introducir la dirección y el puerto del nodo primario en Domain Name or IP y Port Number, o bien configurar una dirección de conexión de alta disponibilidad. Para obtener más información sobre las direcciones de conexión de alta disponibilidad, consulte Create an instance with a high-availability MongoDB source or destination database.

    • Cuando Access Method es Self-managed Database on ECS, introduzca el puerto del nodo primario en Port Number.

  • Se recomienda usar la misma versión de MongoDB en las bases de datos de origen y destino. También puede utilizar una versión superior en el destino para garantizar la compatibilidad. Sincronizar desde una versión superior a una inferior podría causar problemas de compatibilidad.

  • DTS no admite la conexión a bases de datos de MongoDB mediante direcciones SRV.

  • DTS no admite la sincronización de datos de las bases de datos admin, config y local.

  • Si la colección de destino tiene un índice único o su propiedad capped está establecida en true, no se admite la reproducción simultánea durante la sincronización incremental. Solo se permiten escrituras de un solo hilo, lo que podría aumentar la latencia de la tarea.

  • La información de transacciones no se conserva. Las transacciones de la base de datos de origen se convierten en registros individuales en la base de datos de destino.

  • Cuando DTS escribe datos en la colección de destino y ocurre un conflicto de clave primaria o única, omite la instrucción de escritura y conserva los datos existentes en dicha colección.

  • Si la versión de MongoDB de origen es anterior a la 3.6 y la de destino es 3.6 o posterior, las diferencias en los planes de ejecución podrían alterar el orden de los campos en los datos sincronizados. La relación entre campos y valores permanece sin cambios. Si su aplicación utiliza consultas de coincidencia de texto en estructuras anidadas, evalúe el impacto de esta variación en el orden de los campos.

  • Evalúe el rendimiento de las bases de datos de origen y destino antes de sincronizar. Ejecute la sincronización fuera de las horas pico. De lo contrario, la inicialización completa de datos consumirá recursos de lectura y escritura, lo que aumentará la carga de la base de datos.

  • La inicialización completa ejecuta operaciones INSERT de forma concurrente, lo que genera fragmentación en la colección de la base de datos de destino. Después de este proceso, el espacio de la colección en la instancia de destino será mayor que en la instancia de origen.

  • Durante la sincronización, no escriba datos en la base de datos de destino por ningún medio distinto a DTS. Hacerlo podría generar inconsistencias entre las bases de datos de origen y destino. Por ejemplo, si utiliza DMS para ejecutar operaciones DDL en línea mientras se escriben otros datos en el destino, podrían perderse datos.

  • Dado que DTS escribe datos de manera concurrente, el espacio de almacenamiento utilizado por el destino es entre un 5 % y un 10 % mayor que el del origen.

  • Para obtener la cantidad de documentos en el MongoDB de destino, utilice la sintaxis db.$table_name.aggregate([{ $count:"myCount"}]).

  • Asegúrese de que el MongoDB de destino no tenga la misma clave primaria (de forma predeterminada, _id) que el de origen. De lo contrario, podrían perderse datos. Si el destino tiene la misma clave primaria, elimine los datos relacionados sin afectar su aplicación (elimine los documentos con el mismo valor _id en el destino).

  • Si una tarea falla, el personal de soporte de DTS intentará restaurarla en un plazo de ocho horas. Durante la restauración, podrían reiniciar la tarea o ajustar sus parámetros.

    Nota

    Solo se modifican los parámetros de la tarea de DTS, no los de la base de datos. Los parámetros que podrían ajustarse incluyen los enumerados en Modify instance parameters.

  • Si la base de datos de destino es un clúster fragmentado de MongoDB, asegúrese de que el comportamiento de su aplicación cumpla con los requisitos de MongoDB para colecciones fragmentadas después de dirigir el tráfico a esta base de datos.

  • Si la base de datos de origen es MongoDB 5.0 o posterior y la de destino es anterior a la 5.0, no podrá sincronizar capped collections. Si intenta hacerlo, la tarea fallará o se generarán inconsistencias entre las bases de datos de origen y destino. Esto ocurre porque, a partir de MongoDB 5.0, el comportamiento de las capped collections cambió para permitir operaciones como la eliminación explícita y el aumento del tamaño de los documentos durante las actualizaciones, funciones que los kernels de bases de datos anteriores no admiten.

  • DTS no admite la sincronización de colecciones de series temporales introducidas en MongoDB 5.0 y versiones posteriores.

  • No se admite la sincronización de datos con codificación distinta a UTF-8, lo que podría generar inconsistencias.

Casos especiales

Si la base de datos de origen es un MongoDB autogestionado:

  • Si ocurre un cambio de rol entre el nodo primario y secundario en la base de datos de origen durante la sincronización, la tarea fallará.

  • DTS calcula la latencia comparando la marca de tiempo del último documento sincronizado con la marca de tiempo actual. Si la base de datos de origen no recibe actualizaciones durante mucho tiempo, la información de latencia podría ser inexacta. Si la latencia parece demasiado alta, ejecute una operación de actualización en la base de datos de origen para refrescar dicha información.

Nota

Si selecciona la sincronización de base de datos completa, cree una tabla de latidos. Actualice o escriba en esta tabla cada segundo.

Facturación

Tipo de sincronización

Precio

Sincronización de esquemas y sincronización completa de datos

Sin costo.

Sincronización incremental de datos

Con costo. Para obtener más información, consulte Billing overview.

Topologías de sincronización compatibles

  • Sincronización unidireccional uno a uno

  • Sincronización unidireccional uno a varios

  • Sincronización unidireccional varios a uno

  • Sincronización unidireccional en cascada

Para obtener detalles sobre estas topologías de sincronización y sus consideraciones, consulte Synchronization topologies.

Tipos de sincronización

Tipo

Descripción

Sincronización de esquemas

Replica los esquemas de los objetos seleccionados desde la instancia de ApsaraDB for MongoDB de origen hacia la instancia de ApsaraDB for MongoDB de destino.

Sincronización completa de datos

Replica todos los datos históricos de los objetos seleccionados desde la instancia de ApsaraDB for MongoDB de origen hacia la instancia de ApsaraDB for MongoDB de destino.

Nota

La sincronización completa de datos es compatible a nivel de base de datos y de colección.

Sincronización incremental de datos

Replica los cambios continuos desde la instancia de ApsaraDB for MongoDB de origen hacia la instancia de ApsaraDB for MongoDB de destino una vez que finaliza la sincronización completa de datos.

Oplog

La sincronización incremental de datos no replica las bases de datos creadas después de iniciar la tarea. Se replican los siguientes cambios:

  • CREATE COLLECTION y CREATE INDEX

  • DROP DATABASE, DROP COLLECTION y DROP INDEX

  • RENAME COLLECTION

    Nota

    La operación RENAME COLLECTION no se replica si la opción dropTarget está establecida en true.

  • Inserción, actualización y eliminación de documentos dentro de una colección.

    Nota

    En el caso de las actualizaciones de documentos, solo se replican las operaciones que utilizan el comando $set.

Change stream

Se replican los siguientes cambios:

  • DROP DATABASE y DROP COLLECTION

  • RENAME COLLECTION

    Nota

    La operación RENAME COLLECTION no se replica si la opción dropTarget está establecida en true.

  • Inserción, actualización y eliminación de documentos dentro de una colección.

    Nota

    En el caso de las actualizaciones de documentos, solo se replican las operaciones que utilizan el comando $set.

Procedimiento

  1. Acceda a la página de la lista de tareas de sincronización de la región de destino. Para ello, utilice uno de los dos métodos a continuación:

    Desde la consola de DTS

    1. Inicie sesión en la consola de Data Transmission Service (DTS).

    2. En el panel de navegación izquierdo, haga clic en Data Synchronization.

    3. En la esquina superior izquierda de la página, seleccione la región donde se encuentra la instancia de sincronización.

    Desde la consola de DMS

    Nota

    Las operaciones reales pueden variar según el modo y el diseño de la consola de DMS. Para obtener más información, consulte Simple mode y Customize the layout and style of the DMS interface.

    1. Inicie sesión en Data Management (DMS).

    2. En la barra de menús superior, elija Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. A la derecha de Data Synchronization Tasks, seleccione la región donde se encuentra la instancia de sincronización.

  2. Haga clic en Create Task para abrir la página de configuración de la tarea.

  3. Configure las bases de datos de origen y de destino.

    Aviso

    Después de seleccionar las instancias de origen y de destino, lea detenidamente los límites que se muestran en la parte superior de la página. Si no respeta estos límites, la tarea podría fallar o producirse inconsistencias en los datos.

    Categoría

    Parámetro

    Descripción

    N/D

    Task Name

    DTS genera automáticamente un nombre para la tarea. Se recomienda especificar un nombre descriptivo que facilite su identificación. No es necesario que el nombre sea único.

    Source Database

    Select Existing Connection

    • Para usar una instancia de base de datos que esté added to the system (recién creada o guardada), selecciónela en la lista desplegable. La información de la base de datos se configura automáticamente.

      Nota

      En la consola de DMS, este elemento de configuración se denomina Select a DMS database instance..

    • Si no ha agregado la instancia de base de datos al sistema, o si no necesita usar una instancia ya registrada, configure manualmente la siguiente información de la base de datos.

    Database Type

    Seleccione MongoDB.

    Connection Type

    Seleccione Alibaba Cloud Instance.

    Instance Region

    Seleccione la región donde se encuentra la instancia de origen de ApsaraDB for MongoDB.

    Replicate Data Across Alibaba Cloud Accounts

    Este ejemplo utiliza una instancia de base de datos que pertenece a la cuenta actual de Alibaba Cloud. Seleccione No.

    Architecture

    Seleccione Replica Set.

    Migration Method

    Seleccione un método para la sincronización incremental de datos según sus necesidades.

    • Oplog (recomendado):

      Esta opción está disponible si Oplog está habilitado en la base de datos de origen.

      Nota

      Oplog está habilitado de forma predeterminada en las bases de datos MongoDB autogestionadas y en las instancias de ApsaraDB for MongoDB. Este método ofrece menor latencia en las tareas de sincronización incremental porque los registros se recuperan más rápido. Se recomienda seleccionar Oplog.

    • ChangeStream:

      Esta opción está disponible si Change Streams están habilitados en la base de datos de origen.

      Nota
      • Si la base de datos de origen es una instancia de Amazon DocumentDB (clúster no elástico), solo puede seleccionar ChangeStream.

      • Si establece Architecture de la base de datos de origen en Sharded Cluster, no es necesario especificar Shard account ni Shard password.

    Instance ID

    Seleccione el identificador de la instancia de origen de ApsaraDB for MongoDB.

    Authentication Database

    Introduzca el nombre de la base de datos asociada a la cuenta de la instancia de origen de ApsaraDB for MongoDB. El valor predeterminado es admin.

    Database Account

    Introduzca la cuenta de la base de datos de origen de ApsaraDB for MongoDB. La cuenta debe tener permiso de lectura sobre las bases de datos que se van a sincronizar, así como sobre las bases de datos config, admin y local.

    Nota

    Si utiliza ChangeStream como método de sincronización incremental, la cuenta de la base de datos de origen requiere permisos de lectura de Change Streams en toda la instancia (por ejemplo, readAnyDatabase). Si el origen es una instancia de ApsaraDB for MongoDB con una cuenta personalizada, también debe otorgarle a dicha cuenta permiso de lectura sobre la base de datos admin. Para obtener más detalles, consulte Permissions of the root account specified during instance creation.

    Database Password

    Introduzca la contraseña correspondiente a la cuenta de la base de datos.

    Encryption

    DTS admite tres métodos de conexión: Non-encrypted, SSL-encrypted y Mongo Atlas SSL. Las opciones de Encryption varían según el Access Method y la Architecture seleccionados. Prevalecen las opciones que se muestran en la consola.

    Nota
    • Una base de datos MongoDB cuya Architecture es Sharded Cluster y cuyo Migration Method es Oplog no es compatible con SSL-encrypted.

    • Si el origen es una base de datos MongoDB autogestionada (Access Method distinto de Alibaba Cloud Instance) con arquitectura de Replica Set y usted selecciona SSL-encrypted, DTS también le permite cargar un certificado de CA para verificar la conexión.

    Destination Database

    Select Existing Connection

    • Para usar una instancia de base de datos que esté added to the system (recién creada o guardada), selecciónela en la lista desplegable. La información de la base de datos se configura automáticamente.

      Nota

      En la consola de DMS, este elemento de configuración se denomina Select a DMS database instance..

    • Si no ha agregado la instancia de base de datos al sistema, o si no necesita usar una instancia ya registrada, configure manualmente la siguiente información de la base de datos.

    Database Type

    Seleccione MongoDB.

    Connection Type

    Seleccione Alibaba Cloud Instance.

    Instance Region

    Seleccione la región donde se encuentra la instancia de destino de ApsaraDB for MongoDB.

    Replicate Data Across Alibaba Cloud Accounts

    Este ejemplo utiliza una instancia de base de datos que pertenece a la cuenta actual de Alibaba Cloud. Seleccione No.

    Architecture

    Seleccione el tipo de arquitectura de la instancia de destino de ApsaraDB for MongoDB.

    Instance ID

    Seleccione el identificador de la instancia de destino de ApsaraDB for MongoDB.

    Authentication Database

    Introduzca el nombre de la base de datos asociada a la cuenta de la instancia de destino de ApsaraDB for MongoDB. El valor predeterminado es admin.

    Database Account

    Introduzca la cuenta de la base de datos de destino de ApsaraDB for MongoDB. La cuenta debe contar con el permiso dbAdminAnyDatabase, el permiso readWrite sobre la base de datos de destino y el permiso de lectura sobre la base de datos local.

    Database Password

    Introduzca la contraseña correspondiente a la cuenta de la base de datos.

    Encryption

    DTS admite tres métodos de conexión: Non-encrypted, SSL-encrypted y Mongo Atlas SSL. Las opciones de Encryption varían según el Access Method y la Architecture seleccionados. Prevalecen las opciones que se muestran en la consola.

    Nota
    • Las bases de datos MongoDB con una Architecture de Sharded Cluster no son compatibles con SSL-encrypted.

    • Si el destino es una base de datos MongoDB autogestionada (Access Method distinto de Alibaba Cloud Instance) con arquitectura de Replica Set y usted selecciona SSL-encrypted, DTS también le permite cargar un certificado de CA para verificar la conexión.

  4. Una vez completada la configuración, haga clic en Test Connectivity and Proceed en la parte inferior de la página.

    Nota
    • Asegúrese de que los bloques CIDR de direcciones IP de los servidores de DTS estén agregados a la configuración de seguridad de las bases de datos de origen y de destino para permitir el acceso desde dichos servidores. Este proceso se puede hacer de forma automática o manual. Para obtener más información, consulte Add the IP address CIDR blocks of DTS servers to a whitelist.

    • Si la base de datos de origen o de destino es autogestionada (es decir, cuando Access Method no es Alibaba Cloud Instance), también debe hacer clic en Test Connectivity en el cuadro de diálogo CIDR Blocks of DTS Servers.

  5. Configure los objetos de la tarea.

    1. En la página Configure Objects, configure los objetos que desea sincronizar.

      Parámetro

      Descripción

      Synchronization Types

      Incremental Data Synchronization está seleccionado. De forma predeterminada, también debe seleccionar Schema Synchronization y Full Data Synchronization. Una vez finalizada la comprobación previa, DTS ejecuta una sincronización completa de datos de los objetos seleccionados desde la instancia de origen hacia el clúster de destino. Estos datos sirven como línea base para la posterior sincronización incremental.

      Nota

      Para obtener más información, consulte Task steps.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: comprueba si existe una colección con el mismo nombre en la base de datos de destino. Si encuentra una colección con ese nombre, reporta un error y la tarea de sincronización de datos no se inicia. En caso contrario, la comprobación previa finaliza correctamente.

        Nota

        Si no puede eliminar ni cambiar el nombre de la colección duplicada en la base de datos de destino, modifique el nombre de la colección en dicha base de datos. Para obtener más información, consulte Set the name of a synchronization object in the destination instance.

      • Ignore Errors and Proceed: omite la comprobación de colecciones con el mismo nombre en la base de datos de destino.

        Aviso

        Seleccionar Ignore Errors and Proceed puede provocar inconsistencias en los datos y poner en riesgo su negocio. Por ejemplo:

        • Si un registro de la base de datos de destino tiene el mismo valor de clave primaria o clave única que un registro de la base de datos de origen, se conserva el registro de destino. El registro de origen no se sincroniza con la base de datos de destino.

        • Esto puede provocar que la inicialización de datos falle, que solo se sincronicen datos parciales o que la sincronización completa falle.

      Synchronization Topology

      Seleccione One-way Synchronization.

      Capitalization of Object Names in Destination Instance

      Puede configurar la directiva de distinción entre mayúsculas y minúsculas para los nombres en inglés de los objetos de base de datos y de colección que se sincronizan con la instancia de destino. Puede seleccionar la DTS default policy, que es la opción predeterminada, o bien utilizar las directivas predeterminadas de la base de datos de origen o de destino. Para obtener más información, consulte Case sensitivity policy for destination object names.

      Source Objects

      En el cuadro Source Objects, haga clic en el objeto que desea sincronizar y luego haga clic en 向右 para moverlo al cuadro Selected Objects.

      Nota

      Puede seleccionar objetos a nivel de DATABASE o de COLLECTION.

      Selected Objects

      • Para definir el nombre de un objeto de sincronización en la instancia de destino o especificar qué objeto recibirá los datos, haga clic con el botón derecho en el objeto dentro del cuadro Selected Objects y modifíquelo. Para obtener más información, consulte Map table and column names.

      • Para quitar un objeto de sincronización, haga clic en él dentro del cuadro Selected Objects y luego haga clic en image para moverlo al cuadro Source Objects.

      Nota
      • Para seleccionar operaciones incrementales a nivel de base de datos o de colección, haga clic con el botón derecho en el objeto deseado dentro del cuadro Selected Objects y realice las selecciones en el cuadro de diálogo que aparece.

      • Para filtrar datos (compatible durante la sincronización completa, pero no durante la incremental), haga clic con el botón derecho en la colección deseada dentro del cuadro Selected Objects y configure los ajustes en el cuadro de diálogo que aparece. Para ver las instrucciones, consulte Configure filter conditions.

      • Si utiliza la función de asignación de nombres de objetos para especificar una base de datos o colección que reciba datos, la sincronización podría fallar en otros objetos que dependan del objeto asignado.

    2. Haga clic en Next: Advanced Settings para configurar los parámetros avanzados.

      Parámetro

      Descripción

      Dedicated Cluster for Task Scheduling

      De forma predeterminada, DTS programa las tareas en un clúster compartido, por lo que no es necesario seleccionar uno. Si busca un rendimiento más estable, puede adquirir un clúster dedicado para ejecutar las tareas de sincronización de DTS. Para obtener más información, consulte What is a DTS dedicated cluster?.

      Retry Time for Failed Connections

      Cuando se inicia una tarea de sincronización y falla la conexión con la base de datos de origen o de destino, DTS reporta un error e intenta restablecerla de inmediato. La duración predeterminada de reintento es de 720 minutos. También puede especificar una duración personalizada de entre 10 y 1440 minutos. Se recomienda establecerla en 30 minutos o más. Si DTS logra reconectarse a la base de datos dentro del tiempo indicado, la tarea de sincronización se reanuda automáticamente; de lo contrario, la tarea falla.

      Nota
      • Si tiene varias instancias de DTS (por ejemplo, la Instancia A y la Instancia B) que comparten el mismo origen o destino, y configura el tiempo de reintento de red en 30 minutos para la Instancia A y en 60 minutos para la Instancia B, se aplicará la duración más corta de 30 minutos para ambas.

      • Dado que DTS cobra por el tiempo de ejecución de la tarea durante el periodo de reintento de conexión, se recomienda personalizar esta duración según las necesidades de su negocio. También puede liberar la instancia de DTS tan pronto como libere las instancias de las bases de datos de origen y de destino.

      Retry Time for Other Issues

      Una vez iniciada la tarea de sincronización, si ocurren problemas distintos a fallos de conexión en la base de datos de origen o de destino (como excepciones al ejecutar DDL o DML), DTS reporta un error y comienza a reintentar de forma continua. La duración predeterminada de reintento es de 10 minutos. También puede personalizarla en un rango de 1 a 1440 minutos. Se recomienda establecerla en 10 minutos o más. Si las operaciones correspondientes se ejecutan correctamente dentro del tiempo configurado, la tarea de sincronización se reanuda automáticamente; de lo contrario, la tarea falla.

      Importante

      El valor de Retry Time for Other Issues debe ser menor que el de Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      Durante la fase de sincronización completa, DTS consume recursos de lectura y escritura de las bases de datos de origen y de destino, lo cual puede aumentar su carga. Para reducir esta carga, puede establecer un límite de velocidad en la tarea de sincronización completa mediante la configuración de los parámetros Queries per second (QPS) to the source database, RPS of Full Data Migration y Data migration speed for full migration (MB/s).

      Nota
      • Este elemento de configuración solo está disponible cuando Synchronization Types se establece en Full Data Synchronization.

      • También puede adjust the full synchronization rate después de que la instancia de sincronización esté en ejecución.

      Only one data type for primary key _id in a table of the data to be synchronized

      Especifique si los tipos de datos de la clave primaria _id son únicos dentro de cada colección que se va a sincronizar.

      Importante
      • Seleccione una opción según sus datos reales. Una selección incorrecta puede provocar pérdida de datos.

      • Este parámetro solo está disponible si Synchronization Types incluye Full Data Synchronization.

      • Yes: los tipos de datos son únicos. Durante la fase de sincronización completa, DTS no analiza los tipos de datos de las claves primarias en los datos de origen. Para cada colección, DTS sincroniza únicamente los datos correspondientes a un solo tipo de dato de clave primaria.

      • No: los tipos de datos no son únicos. Durante la fase de sincronización completa, DTS analiza los tipos de datos de las claves primarias en los datos de origen y sincroniza todos los datos.

      Enable Throttling for Incremental Data Synchronization

      También puede establecer un límite de velocidad para la tarea de sincronización incremental. Para reducir la presión sobre la base de datos de destino, configure los parámetros RPS of Incremental Data Synchronization y Data synchronization speed for incremental synchronization (MB/s).

      Environment Tag

      Según sus necesidades, puede seleccionar una etiqueta de entorno para identificar la instancia. En este ejemplo, no es necesario seleccionar ninguna.

      Configure ETL

      Decida si desea habilitar la función de extracción, transformación y carga (ETL). Para obtener más información, consulte What is ETL? Valores válidos:

      Monitoring and Alerting

      Especifique si desea configurar alertas. Si la sincronización falla o la latencia supera el umbral definido, se envía una notificación a un contacto de alerta.

    3. Haga clic en Next: Data Validation para configurar una tarea de validación de datos.

      Si desea utilizar la función de validación de datos, consulte Configure data validation para ver las instrucciones de configuración.

  6. Guarde la tarea y ejecute una comprobación previa.

    • Para consultar los parámetros de la API necesarios para configurar esta instancia, pase el cursor sobre el botón Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters en la burbuja emergente.

    • Cuando termine de revisar los parámetros de la API, haga clic en Next: Save Task Settings and Precheck en la parte inferior de la página.

    Nota
    • Antes de iniciar el trabajo de sincronización, DTS ejecuta una comprobación previa. El trabajo solo puede comenzar si se superan todos los elementos de dicha comprobación.

    • Si la comprobación previa falla, haga clic en View Details junto al elemento con errores. Corrija el problema siguiendo las indicaciones y vuelva a ejecutar la comprobación previa.

    • Si la comprobación previa devuelve una advertencia:

      • Si un elemento de comprobación falla y no se puede ignorar, haga clic en View Details junto a dicho elemento. Siga las instrucciones para corregir el problema y vuelva a ejecutar la comprobación previa.

      • Para los elementos de comprobación que sí se pueden ignorar, haga clic secuencialmente en Confirm Alert Details, Ignore, OK y Precheck Again para omitir la advertencia y volver a ejecutar la comprobación previa. Si decide ocultar el elemento de advertencia, podrían surgir problemas como inconsistencias en los datos, lo cual representa un riesgo para su negocio.

  7. Adquiera la instancia.

    1. Cuando Success Rate alcance el 100 %, haga clic en Next: Purchase Instance.

    2. En la página Purchase, seleccione el método de facturación y la especificación de enlace para la instancia de sincronización de datos. La siguiente tabla describe estos parámetros en detalle.

      Categoría

      Parámetro

      Descripción

      New Instance Class

      Método de facturación

      • Subscription: paga al crear la instancia. Es adecuado para necesidades a largo plazo y resulta más rentable que pay-as-you-go. Entre mayor sea la duración de la suscripción, mayor será el descuento.

      • Pay-as-you-go: se le cobra por hora. Es adecuado para necesidades a corto plazo. Puede liberar la instancia inmediatamente después de usarla para ahorrar costos.

      Configuración del resource group

      El resource group al que pertenece la instancia. El valor predeterminado es el resource group predeterminado. Para obtener más información, consulte What is Resource Management?.

      Especificación de enlace

      DTS ofrece especificaciones de sincronización con distintos niveles de rendimiento. La especificación del enlace de sincronización afecta la velocidad de sincronización. Elija una especificación según su escenario de negocio. Para obtener más información, consulte Data synchronization link specifications.

      Duración de la suscripción

      En el modo de suscripción, seleccione la duración y la cantidad de instancias de suscripción. Puede elegir una suscripción mensual de 1 a 9 meses, o una suscripción anual de 1, 2, 3 o 5 años.

      Nota

      Esta opción solo está disponible cuando el método de facturación es Subscription.

    3. Una vez completada la configuración, lea y seleccione Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Haga clic en Buy and Start. En el cuadro de diálogo OK, haga clic en OK.

      Puede consultar el progreso de la tarea en la página Data Synchronization.

Preguntas frecuentes

¿Por qué se presenta latencia en la tarea e inconsistencia de datos aunque no haya escrituras desde la aplicación?

  • Causa: Este problema ocurre por un conflicto entre el mecanismo de eliminación automática de un índice TTL en una colección de MongoDB y el mecanismo de sincronización de datos de DTS. Dicho conflicto genera latencia en la tarea e inconsistencia de datos durante la sincronización o migración.

    • Las operaciones DELETE redundantes reducen la eficiencia: Cuando el índice TTL del origen elimina datos caducados, escribe un registro DELETE en el Oplog. DTS reproduce este DELETE en el destino. Si el índice TTL del destino ya eliminó los mismos datos, MongoDB devuelve un recuento de filas afectadas inesperado. Esto activa el manejo de excepciones y ralentiza la migración.

    • Inconsistencia de datos por la eliminación asincrónica del TTL: Los índices TTL no eliminan los datos en tiempo real. Los datos caducados pueden seguir existiendo en el origen mientras el destino ya los eliminó, lo que provoca inconsistencia.

      Ejemplo:

      El Oplog o ChangeStream de MongoDB registra únicamente los campos actualizados en una operación UPDATE, no el documento completo. Si un UPDATE no encuentra los datos de destino, DTS omite la operación.

      Momento

      Instancia de origen

      Instancia de destino

      1

      El servicio inserta datos.

      2

      DTS sincroniza la operación INSERT.

      3

      Los datos caducaron, pero el índice TTL aún no los elimina.

      4

      El servicio actualiza los datos (por ejemplo, modifica el campo del índice TTL para cambiar el tiempo de caducidad).

      5

      El índice TTL elimina los datos.

      6

      DTS sincroniza la operación UPDATE, pero no encuentra los datos. La operación se omite.

      Como resultado, este documento queda ausente en la instancia de MongoDB de destino.

  • Solución: Para resolverlo, modifique temporalmente el tiempo de caducidad del índice TTL en el destino durante la tarea de sincronización o migración. De esta manera se garantiza tanto la eficiencia de la sincronización como la consistencia de los datos. Para conocer los pasos detallados, consulte Best practices for synchronizing or migrating collections with TTL indexes from a MongoDB source.