Todos los productos
Search
Centro de documentos

Data Transmission Service:Migrar un conjunto de réplicas de MongoDB a un conjunto de réplicas o clúster particionado

Última actualización: Oct 10, 2026

Este tema describe cómo migrar datos desde una instancia de conjunto de réplicas de ApsaraDB for MongoDB hacia un conjunto de réplicas o clúster particionado de ApsaraDB for MongoDB mediante Data Transmission Service (DTS).

Bases de datos de origen y destino compatibles

Base de datos de origen (conjunto de réplicas)

Base de datos de destino (conjunto de réplicas o clúster particionado)

ApsaraDB for MongoDB

ApsaraDB for MongoDB

Base de datos autogestionada en una instancia ECS

Base de datos autogestionada en una instancia ECS

Base de datos autogestionada conectada mediante Express Connect, VPN Gateway o Smart Access Gateway

Base de datos autogestionada conectada mediante Express Connect, VPN Gateway o Smart Access Gateway

Base de datos autogestionada con una dirección IP pública

Base de datos autogestionada con una dirección IP pública

En este tema se muestra un ejemplo de configuración para un conjunto de réplicas de origen de ApsaraDB for MongoDB y una instancia de destino de ApsaraDB for MongoDB (conjunto de réplicas o clúster particionado). El proceso de configuración para otros orígenes de datos es similar.

Requisitos previos

  • Cree una instancia de conjunto de réplicas de origen de ApsaraDB for MongoDB y una instancia de destino de ApsaraDB for MongoDB (conjunto de réplicas o clúster particionado). Para obtener más información, consulte Create a replica set instance y Create a sharded cluster instance.

    Nota

    Para conocer las versiones compatibles, consulte Migration solutions overview.

  • La instancia de destino de ApsaraDB for MongoDB debe contar con un 10 % más de espacio de almacenamiento que la instancia de origen de ApsaraDB for MongoDB.

  • Si la instancia de destino de ApsaraDB for MongoDB es un clúster particionado, cree las bases de datos y colecciones que requieran particionamiento. Además, configure el particionamiento de datos, habilite el balanceador y ejecute el preparticionamiento en la instancia de destino de ApsaraDB for MongoDB según sus necesidades de negocio. Para obtener más información, consulte Set up data sharding to fully utilize shard performance y How to handle uneven data distribution in a MongoDB sharded cluster.

    Nota

    Configurar el particionamiento de datos evita que todos los datos se migren a un solo fragmento, lo que garantiza un rendimiento óptimo del clúster. Habilitar el balanceador y ejecutar el preparticionamiento previene el desequilibrio de datos.

Notas

Tipo

Descripción

Limitaciones de la base de datos de origen

  • Requisito de ancho de banda: el servidor de la base de datos de origen debe tener suficiente ancho de banda de salida. De lo contrario, se verá afectada la velocidad de migración de datos.

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

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

  • Si migra datos a nivel de colección y necesita editar las colecciones (por ejemplo, asignando nuevos nombres), una sola tarea de migración admite un máximo de 1,000 colecciones. Si supera este límite, la tarea reportará un error al enviarse. En ese caso, divida las colecciones en varios lotes y configure una tarea independiente para cada uno, o bien configure una tarea para migrar toda la base de datos.

  • Un documento individual en la base de datos de origen no puede superar los 16 MB. De lo contrario, la tarea de migración terminará con errores.

  • Si la base de datos de origen es un clúster elástico de Azure Cosmos DB for MongoDB o de Amazon DocumentDB, solo se admite la migración completa de datos.

  • Para llevar a cabo la migración incremental de datos:

    La base de datos de origen debe tener habilitado el oplog con una retención de como mínimo siete días. Como alternativa, deben estar habilitados los change streams, y DTS debe poder suscribirse a los cambios de datos de la base de datos de origen de los últimos siete días mediante dichos change streams. Si no se cumplen estos requisitos, la tarea de migración podría fallar porque no podrá obtener los cambios de datos del origen. En casos extremos, esto puede provocar inconsistencia o pérdida de datos. Los problemas derivados de esta situación no están cubiertos por el Acuerdo de Nivel de Servicio (SLA) de DTS.

    Importante
    • Se recomienda usar el oplog para obtener los cambios de datos de la base de datos de origen.

    • Solo MongoDB 4.0 y versiones posteriores admiten la obtención de cambios de datos mediante change streams.

    • Si la base de datos de origen es un clúster de Amazon DocumentDB (no elástico), debe habilitar manualmente los change streams. Al configurar la tarea, establezca el parámetro Migration Method en ChangeStream y el parámetro Architecture en Sharded Cluster.

  • Limitaciones operativas en la base de datos de origen:

    • Durante las fases de migración de esquemas y migración completa de datos, no modifique los esquemas de las bases de datos ni de las colecciones, incluida la actualización de datos en arreglos. Estos cambios pueden provocar que la migración falle o generar inconsistencias entre las bases de datos de origen y destino.

    • Si solo ejecuta la migración completa de datos, no escriba datos nuevos en la instancia de origen. De lo contrario, las bases de datos de origen y destino quedarán inconsistentes. Para mantener la consistencia de datos en tiempo real, seleccione Schema Migration, Full Data Migration e Incremental Data Migration.

  • Si una colección que se va a migrar contiene un índice Time-to-Live (TTL), podría producirse una inconsistencia de datos o aumentar la latencia de la instancia.

Otras limitaciones

  • Si la instancia de destino tiene una arquitectura de clúster particionado:

    • Debe eliminar los documentos huérfanos, ya que pueden afectar el rendimiento de la migración. Si durante la migración se encuentran documentos con conflictos de _id, podría producirse una inconsistencia de datos o un fallo en la tarea.

    • Antes de iniciar la tarea, agregue una clave de particionamiento a los datos de origen para cada colección particionada en el destino. Si no puede agregar una clave de particionamiento a los datos de origen, consulte Migrate data from a MongoDB instance without a shard key to a MongoDB sharded cluster instance.

    • Una vez iniciada la tarea, el comando INSERT debe incluir la clave de particionamiento. El comando UPDATE no puede modificar dicha clave.

  • Si la instancia de destino tiene una arquitectura de conjunto de réplicas:

    • Cuando el parámetro Access Method es Express Connect, VPN Gateway, or Smart Access Gateway, Public IP Address o Cloud Enterprise Network (CEN), establezca Domain Name or IP y Port Number con la dirección y el puerto del nodo primario, o bien configure 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 a Source or Destination Instance for a High-availability MongoDB Database.

    • Cuando el parámetro Access Method es Self-managed Database on ECS, establezca Port Number con el puerto del nodo primario.

  • DTS no admite la conexión a una base de datos MongoDB mediante un registro SRV.

  • Mantenga consistentes las versiones de MongoDB de las bases de datos de origen y destino, o bien migre de una versión anterior a una posterior para garantizar la compatibilidad. Migrar de una versión posterior a una anterior puede causar problemas de compatibilidad.

  • DTS no admite la migración de datos desde las bases de datos admin, config ni local.

  • Si la colección de destino tiene un índice único o su atributo capped está establecido en true, la colección no admitirá reproducción simultánea durante la migración incremental de datos (solo se admite escritura de un solo hilo). Esto puede aumentar la latencia de la tarea.

  • DTS no conserva la información de transacciones, sino que convierte las transacciones de la base de datos de origen en instrucciones individuales en la base de datos de destino.

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

  • Si la base de datos de origen utiliza una versión de MongoDB anterior a la 3.6 y la de destino usa MongoDB 3.6 o posterior, el orden de los campos en los datos migrados podría diferir del original. No obstante, los pares campo-valor seguirán siendo correctos. Esto se debe a diferencias en el plan de ejecución del motor de base de datos. Si la lógica de su aplicación realiza coincidencias de texto en estructuras anidadas, evalúe el impacto potencial de este cambio en el orden de los campos.

  • Antes de migrar los datos, evalúe el rendimiento de las bases de datos de origen y destino, y ejecute la migración fuera del horario de mayor actividad. Durante la migración completa de datos, DTS consume recursos de lectura y escritura, lo que puede aumentar la carga de la base de datos.

  • Durante la migración completa de datos, DTS ejecuta operaciones INSERT simultáneas que pueden causar fragmentación en las colecciones de destino. Como resultado, estas colecciones podrían ocupar más espacio de almacenamiento que las de la instancia de origen.

  • Compruebe que la precisión de migración que DTS utiliza para las columnas FLOAT o DOUBLE cumple con sus requisitos de negocio. DTS lee los valores de estos tipos mediante ROUND(COLUMN,PRECISION). Si no define explícitamente la precisión, DTS migra los valores FLOAT con una precisión de 38 dígitos y los valores DOUBLE con una precisión de 308 dígitos.

  • DTS intenta reanudar automáticamente las tareas de migración con errores durante un plazo de siete días. Antes de realizar el corte de servicio a la instancia de destino, finalice o libere la tarea, o bien utilice el comando revoke para revocar los permisos de escritura de la cuenta que DTS usa para acceder a dicha instancia. Esto evita que los datos de origen sobrescriban los de la instancia de destino si la tarea se reanuda automáticamente.

  • Dado que DTS escribe datos de forma simultánea, la base de datos de destino utiliza entre un 5 % y un 10 % más de espacio de almacenamiento que la base de datos de origen.

  • Utilice la sintaxis db.$table_name.aggregate([{ $count:"myCount"}]) para consultar el recuento en la instancia MongoDB de destino.

  • Asegúrese de que la base de datos MongoDB de destino no tenga documentos con la misma clave primaria (el campo _id de forma predeterminada) que la base de datos de origen. De lo contrario, podrían perderse datos. Si existen dichos documentos, elimine de la base de datos de destino aquellos con valores _id conflictivos antes de la migración, siempre que esto no afecte su operación.

  • Si una tarea falla, el equipo de soporte de DTS intentará restaurarla en un plazo de ocho horas. Durante la restauración, es posible que reinicien la tarea o ajusten 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 se incluyen en los listados de Modify instance parameters.

  • Si la base de datos de destino es un clúster particionado de MongoDB, después de cambiar su operación a esta base de datos, asegúrese de que sus procesos cumplan con los requisitos del clúster para las colecciones particionadas.

  • No es posible migrar capped collections cuando la base de datos de origen es MongoDB 5.0 o posterior y la de destino utiliza una versión anterior. Esto puede provocar que la tarea termine con errores o generar inconsistencias en los datos. La razón es que el comportamiento de las capped collections cambió en MongoDB 5.0, lo cual permite eliminaciones explícitas y aumentos en el tamaño de los documentos durante las actualizaciones. Los núcleos de bases de datos anteriores no son compatibles con estas funciones.

  • Las colecciones de series temporales, introducidas en MongoDB 5.0, no son compatibles con la migración.

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

Casos especiales

Si la base de datos de origen es una base de datos MongoDB autogestionada:

  • Un cambio de rol entre el nodo primario y secundario en la base de datos de origen durante la migración provocará que la tarea termine con errores.

  • DTS calcula la latencia comparando la marca de tiempo del último registro migrado al destino con la marca de tiempo actual. Si la base de datos de origen no se ha actualizado durante mucho tiempo, la latencia reportada podría ser inexacta. Si la tarea muestra una latencia excesiva, aplique una actualización menor en la base de datos de origen para refrescar el valor de latencia.

Nota

Si migra una base de datos completa, también puede crear una tabla de latidos (heartbeat) que se actualice a intervalos regulares, por ejemplo, cada segundo.

Facturación

Tipo de migración

Cargo por configuración de instancia

Cargo por tráfico de Internet

Migración de esquemas y migración completa de datos

Sin cargo.

Cuando el parámetro Access Method de la base de datos de destino se establece en Public IP Address, se le cobrará por el tráfico de Internet. Para obtener más información, consulte Billing overview.

Migración incremental de datos

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

Tipos de migración

Tipo

Descripción

Migración de esquemas

Migra el esquema de los objetos de migración desde la instancia de origen de ApsaraDB for MongoDB hacia la instancia de destino de ApsaraDB for MongoDB.

Nota

La migración de esquemas es compatible con bases de datos, colecciones e índices.

Migración completa de datos

Migra todos los datos existentes de los objetos de migración desde la instancia de origen de ApsaraDB for MongoDB hacia la instancia de destino de ApsaraDB for MongoDB.

Nota

La migración completa de datos es compatible con los datos almacenados en bases de datos y colecciones.

Migración incremental de datos

Además de la migración completa, este método permite migrar las actualizaciones incrementales desde la instancia de origen de ApsaraDB for MongoDB hacia la instancia de destino de ApsaraDB for MongoDB.

Oplog

La migración incremental no admite bases de datos creadas después de iniciar la tarea. Se admiten a continuación las siguientes actualizaciones incrementales:

  • CREATE COLLECTION y CREATE INDEX

  • DROP DATABASE, DROP COLLECTION y DROP INDEX

    Nota

    No se admiten las operaciones RENAME COLLECTION que incluyen la opción dropTarget establecida en true.

  • RENAME COLLECTION

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

    Nota

    En las actualizaciones incrementales de documentos, solo se replican los cambios realizados mediante el comando $set.

Change stream

Se admiten a continuación las siguientes actualizaciones incrementales:

  • DROP DATABASE y DROP COLLECTION

  • RENAME COLLECTION

    Nota

    No se admiten las operaciones RENAME COLLECTION que incluyen la opción dropTarget establecida en true.

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

    Nota

    En las actualizaciones incrementales de documentos, solo se replican los cambios realizados mediante el comando $set.

Permisos de cuentas de base de datos

Base de datos

Migración de esquemas

Migración completa de datos

Migración incremental de datos

Instancia de origen de ApsaraDB for MongoDB

Permiso de lectura en la base de datos que se va a migrar y en la base de datos config.

Permiso de lectura en la base de datos que se va a migrar, en la base de datos admin y en la base de datos local.

Instancia de destino de ApsaraDB for MongoDB

dbAdminAnyDatabase, readWrite en la base de datos de destino y read en la base de datos local.

Para crear cuentas de base de datos y otorgar permisos en las instancias de origen y destino de ApsaraDB for MongoDB, consulte Manage MongoDB database users with DMS.

Nota

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

Procedimiento

  1. Vaya a la página de la lista de tareas de migración de la región de destino mediante uno de los siguientes métodos.

    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 Migration.

    3. En la esquina superior izquierda de la página, seleccione la región donde se encuentra la instancia de migració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 console y Customize the layout and style of the DMS console.

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

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

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

  2. Haga clic en Create Task para ir a 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, le recomendamos leer detenidamente los límites que se muestran en la parte superior de la página. De lo contrario, la tarea podría fallar o presentarse inconsistencias en los datos.

    Categoría

    Parámetro

    Descripción

    N/A

    Task Name

    DTS genera automáticamente un nombre para la tarea. Le recomendamos 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 ya se ha added to the system (creada o guardada), selecciónela en la lista desplegable. La información de la base de datos que aparece a continuación se configura automáticamente.

      Nota

      En la consola de DMS, este parámetro se denomina Select a DMS database instance..

    • Si no ha registrado la instancia de base de datos en el sistema o no necesita usar una instancia registrada, configure manualmente la información de la base de datos que aparece a continuación.

    Database Type

    Seleccione MongoDB.

    Access Method

    Seleccione 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

    En este ejemplo se utiliza una instancia de base de datos de la cuenta actual de Alibaba Cloud. Seleccione No.

    Architecture

    Seleccione Replica Set.

    • Replica Set: esta arquitectura usa varios nodos para garantizar la alta disponibilidad y habilitar la división de lecturas y escrituras. Para obtener más información, consulte Replica set architecture.

    • Sharded Cluster: esta arquitectura consta de los componentes mongos, shard y ConfigServer. Usted puede personalizar la cantidad y la configuración de los nodos mongos y shard. Para obtener más información, consulte Sharded cluster architecture.

    Migration Method

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

    • Oplog (recomendado):

      Esta opción está disponible si la base de datos de origen tiene habilitado un oplog.

      Nota

      El oplog se habilita de forma predeterminada tanto en las bases de datos MongoDB autogestionadas como en las instancias de ApsaraDB for MongoDB. Este método ofrece menor latencia en la migración incremental de datos porque extrae los registros con mayor rapidez. Por lo tanto, se recomienda seleccionar Oplog.

    • ChangeStream: esta opción está disponible si se han habilitado los Change Streams 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 en Sharded Cluster para la base de datos de origen, no es necesario introducir una Shard account ni una 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 a la que pertenece 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 la instancia de origen de ApsaraDB for MongoDB. Para conocer los requisitos de permisos, consulte Database account permissions.

    Database Password

    Introduzca la contraseña de 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 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 ya se ha added to the system (creada o guardada), selecciónela en la lista desplegable. La información de la base de datos que aparece a continuación se configura automáticamente.

      Nota

      En la consola de DMS, este parámetro se denomina Select a DMS database instance..

    • Si no ha registrado la instancia de base de datos en el sistema o no necesita usar una instancia registrada, configure manualmente la información de la base de datos que aparece a continuación.

    Database Type

    Seleccione MongoDB.

    Access Method

    Seleccione 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

    En este ejemplo se utiliza una instancia de base de datos de la cuenta actual de Alibaba Cloud. Seleccione No.

    Architecture

    Seleccione una arquitectura según sus necesidades empresariales. Valores válidos:

    • Replica Set: esta arquitectura usa varios nodos para garantizar la alta disponibilidad y habilitar la división de lecturas y escrituras. Para obtener más información, consulte Replica set architecture.

    • Sharded Cluster: esta arquitectura consta de los componentes mongos, shard y ConfigServer. Usted puede personalizar la cantidad y la configuración de los nodos mongos y shard. Para obtener más información, consulte Sharded cluster architecture.

    Instance ID

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

    Authentication Database

    Introduzca el nombre de la base de datos a la que pertenece 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 la instancia de destino de ApsaraDB for MongoDB. Para conocer los requisitos de permisos, consulte Database account permissions.

    Database Password

    Introduzca la contraseña de 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 cuya Architecture es 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 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. Esto 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.

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

    Parámetro

    Descripción

    Migration Types

    • Si solo necesita ejecutar una migración completa, seleccione Schema Migration y Full Data Migration.

    • Para ejecutar una migración sin tiempo de inactividad, seleccione Schema Migration, Full Data Migration e Incremental Data Migration.

    Nota
    • Si no selecciona Schema Migration, asegúrese de que exista una base de datos y tablas para recibir los datos en la base de datos de destino. También puede usar la función de asignación de nombres de objetos en el cuadro Selected Objects según sea necesario.

    • Si no selecciona Incremental Data Migration, no escriba datos nuevos en la instancia de origen durante la migración para garantizar la consistencia de los datos.

    Para obtener más información, consulte Migration types.

    Processing Mode of Conflicting Tables

    • Precheck and Report Errors: comprueba si existen colecciones con los mismos nombres en la base de datos de destino. Si no existen, la comprobación previa se supera. Si existen colecciones con los mismos nombres, se reporta un error durante la comprobación previa y la tarea de migración de datos no se inicia.

      Nota

      Si una colección de la base de datos de destino tiene el mismo nombre pero no se puede eliminar o renombrar fácilmente, cambie el nombre de dicha colección. Para obtener más información, consulte Object name mapping.

    • Ignore Errors and Proceed: omite la comprobación de colecciones con los mismos nombres.

      Aviso

      Seleccionar Ignore Errors and Proceed puede provocar inconsistencias en los datos y riesgos para el negocio. Por ejemplo:

      • Si un registro de la base de datos de destino tiene el mismo valor de clave principal que un registro de la base de datos de origen, se conserva el registro de destino. El registro de origen no se migra a la base de datos de destino.

      • La inicialización de datos podría fallar, migrarse solo una parte de los datos o producirse un error en la migración.

    Capitalization of Object Names in Destination Instance

    Usted puede configurar la directiva de uso de mayúsculas y minúsculas para los nombres de las bases de datos y colecciones migradas en la instancia de destino. De forma predeterminada, se selecciona DTS default policy. También puede optar por alinearse con las directivas predeterminadas de la base de datos de origen o de destino. Para obtener más información, consulte Object name case policy for the destination.

    Source Objects

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

    Nota

    Puede seleccionar objetos a nivel de DATABASE o COLLECTION.

    Selected Objects

    • Para definir el nombre de un objeto de migración en la instancia de destino o especificar el objeto que recibirá los datos en ella, haga clic con el botón derecho en el objeto dentro del cuadro Selected Objects y aplique los cambios. Para obtener más información, consulte Object name mapping.

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

    Nota
    • Para seleccionar las operaciones de migración incremental a nivel de base de datos o de colección, haga clic con el botón derecho en el objeto de migración dentro del cuadro Selected Objects y elija la opción correspondiente en el cuadro de diálogo que aparece.

    • Para establecer condiciones que filtren los datos (compatible con la migración completa de datos, pero no con la incremental), haga clic con el botón derecho en la colección dentro del cuadro Selected Objects y defina la configuración en el cuadro de diálogo que aparece. Para ver las instrucciones, consulte Filter task data with an SQL condition.

    • Si usa la función de asignación de nombres de objetos para especificar una base de datos o colección que reciba los datos, la migración de otros objetos dependientes podría fallar.

    1. 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 requiere tareas más estables, adquiera un dedicated cluster para ejecutar las tareas de migración de DTS.

      Retry Time for Failed Connections

      Una vez iniciada la tarea de migración, si falla la conexión con la base de datos de origen o de destino, DTS reporta un error y comienza a reintentar la conexión de inmediato. La duración predeterminada de reintento es de 720 minutos. Usted puede personalizar el tiempo de reintento con un valor de 10 a 1440 minutos. Se recomienda establecer una duración superior a 30 minutos. Si DTS restablece la conexión con ambas bases de datos dentro del periodo especificado, la tarea de migración se reanuda automáticamente; de lo contrario, la tarea termina con errores.

      Nota
      • Cuando varias instancias de DTS comparten el mismo origen o destino, el tiempo de reintento de red lo determina la configuración de la última tarea creada.

      • Dado que la tarea genera cargos durante el periodo de reintento de conexión, se recomienda ajustar el tiempo de reintento según sus necesidades empresariales o liberar la instancia de DTS lo antes posible después de liberar las instancias de base de datos de origen y de destino.

      Retry Time for Other Issues

      Una vez iniciada la tarea de migración, si ocurre un problema ajeno a la conectividad en la base de datos de origen o de destino, como una excepción al ejecutar DDL o DML, DTS reporta un error y comienza a reintentar la operación de inmediato. La duración predeterminada de reintento es de 10 minutos. Usted puede personalizar el tiempo de reintento con un valor de 1 a 1440 minutos. Se recomienda establecer una duración superior a 10 minutos. Si las operaciones relacionadas se ejecutan correctamente dentro del tiempo de reintento especificado, la tarea de migración se reanuda automáticamente; de lo contrario, la tarea termina con errores.

      Importante

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

      Enable Throttling for Full Data Migration

      Durante la migración completa, DTS consume recursos de lectura y escritura en las bases de datos de origen y de destino, lo cual puede aumentar la carga de la base de datos. Si lo requiere, habilite la limitación de velocidad para la tarea de migración completa. Establezca Queries per second (QPS) to the source database, RPS of Full Data Migration y Data migration speed for full migration (MB/s) para reducir la carga en la base de datos de destino.

      Nota
      • Este elemento de configuración solo está disponible si selecciona Full Data Migration en Migration Types.

      • También puede adjust the full migration speed después de que la instancia de migración esté en ejecución.

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

      En los datos que se van a migrar, ¿el tipo de dato de la clave principal _id es uniforme dentro de una misma colección?

      Importante
      • Seleccione una opción según sus necesidades. De lo contrario, podrían perderse datos.

      • Este parámetro solo está disponible si selecciona Full Data Migration en Migration Types.

      • Yes: el tipo de dato es único. Durante la migración completa de datos, DTS no analiza los tipos de dato de las claves principales en los datos de origen. Para cada colección, DTS migra únicamente los datos correspondientes a un solo tipo de dato de clave principal.

      • No: el tipo de dato no es único. Durante la migración completa de datos, DTS analiza los tipos de dato de las claves principales en los datos de origen y migra todos los datos.

      Enable Throttling for Incremental Data Migration

      Si lo requiere, también puede establecer límites de velocidad para la tarea de migración incremental. Configure RPS of Incremental Data Migration y Data migration speed for incremental migration (MB/s) para reducir la carga en la base de datos de destino.

      Nota
      • Este elemento de configuración solo está disponible si selecciona Incremental Data Migration en Migration Types.

      • También puede adjust the incremental migration speed después de que la instancia de migración esté en ejecución.

      Environment Tag

      Usted puede seleccionar una etiqueta de entorno para identificar la instancia. En este ejemplo, este paso es opcional.

      Configure ETL

      Según sus necesidades empresariales, seleccione si desea configurar la ETL feature para procesar datos.

      • Yes: configura la función ETL. También debe introducir las data processing statements en el cuadro de texto.

      • No: no configura la función ETL.

      Monitoring and Alerting

      Seleccione si desea configurar alertas y recibir notificaciones de alerta según sus necesidades empresariales.

      • No: no configura ninguna alerta.

      • Yes: configure las alertas estableciendo un alert threshold y un alert notifications. Si una migración falla o la latencia supera el umbral, el sistema envía una notificación de alerta.

    2. Haga clic en Next Data Verification para configurar una tarea de verificación de datos.

      Para obtener más información sobre la función de verificación de datos, consulte Configure data validation.

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

    • Para consultar los parámetros de configuración de esta instancia al llamar a la operación de API, coloque el puntero sobre el botón Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters en la burbuja que aparece.

    • Si no necesita consultar los parámetros de la API o ya terminó de revisarlos, haga clic en Next: Save Task Settings and Precheck en la parte inferior de la página.

    Nota
    • Antes de iniciar la tarea de migración, DTS ejecuta una comprobación previa. La tarea solo comienza después de superar dicha comprobación.

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

    • Si se reporta una advertencia durante la comprobación previa:

      • Para los elementos que no se pueden omitir, haga clic en View Details junto al elemento con errores, corrija el problema siguiendo las indicaciones y vuelva a ejecutar la comprobación previa.

      • Para los elementos que se pueden omitir, haga clic en Confirm Alert Details, Ignore, OK y Precheck Again para omitir la advertencia y volver a ejecutar la comprobación previa. Si decide ignorar una advertencia, podrían surgir problemas como inconsistencias en los datos y generarse riesgos 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 la especificación de enlace para la instancia de migración de datos. Para obtener más información, consulte la siguiente tabla.

      Categoría

      Parámetro

      Descripción

      New Instance Class

      Resource Group Settings

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

      Instance Class

      DTS ofrece especificaciones de migración con distintos niveles de rendimiento. La especificación de enlace afecta la velocidad de migración. Seleccione una especificación según su escenario empresarial. Para obtener más información, consulte Data migration link specifications.

    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 que aparece, haga clic en OK.

      Usted puede consultar el progreso de la tarea de migración en la página de lista Data Migration Tasks.

      Nota
      • Si la tarea de migración no incluye migración incremental, se detiene automáticamente al finalizar la migración completa. Una vez detenida, su Status cambia a Completed.

      • Si la tarea de migración incluye migración incremental, no se detiene automáticamente y la tarea de migración incremental continúa ejecutándose. Mientras esto ocurre, el Status de la tarea es Running.

Preguntas frecuentes

¿Por qué se presenta latencia en la tarea e inconsistencia de datos incluso cuando no hay 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 que el destino ya los eliminó, lo cual provoca inconsistencia.

      Ejemplo:

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

      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.