Todos los productos
Search
Centro de documentos

Data Transmission Service:Two-way synchronization between PolarDB-X 2.0 instances

Última actualización: Sep 05, 2026

La sincronización bidireccional mantiene dos instancias de PolarDB-X 2.0 sincronizadas mediante la ejecución de un par de tareas unidireccionales en direcciones opuestas. Utilice esta función para arquitecturas activo-activo donde ambas instancias procesan escrituras de forma simultánea.

En esta página se describe el proceso completo de configuración: primero configure la tarea directa y, una vez que comience a ejecutarse, configure la tarea inversa.

Requisitos previos

Antes de empezar, compruebe que cuenta con lo siguiente:

  • Instancias de origen y destino de PolarDB-X 2.0 (Standard Edition o Enterprise Edition). No se admiten las instancias con motor de registro binario de múltiples flujos.

  • Almacenamiento disponible en la instancia de destino que supere el almacenamiento utilizado por la instancia de origen.

  • Cuentas de base de datos con privilegios en ambas instancias. Para más información, consulte Manage database accounts.

  • El parámetro binlog_row_image establecido en full en la instancia de origen. Para más información, consulte Configuración de parámetros.

  • Registros binarios conservados durante el tiempo necesario:

    • Tareas solo incrementales: más de 24 horas.

    • Tareas con sincronización completa e incremental de datos: como mínimo 7 días. Una vez finalizada la sincronización inicial completa de datos, puede reducir el periodo de retención a más de 24 horas.

Importante

Las infracciones en la retención de registros binarios no están cubiertas por el acuerdo de nivel de servicio (SLA). Si DTS no puede leer los registros necesarios, la tarea falla y, en casos extremos, puede producirse inconsistencia o pérdida de datos.

Funcionamiento

Una tarea de sincronización bidireccional consta de dos tareas unidireccionales:

  • Tarea directa: sincroniza los datos de la instancia A a la instancia B.

  • Tarea inversa: sincroniza los datos de la instancia B a la instancia A.

DTS marca los registros escritos por la sincronización para evitar que cada tarea vuelva a sincronizar los datos recibidos de la otra. De este modo se previenen los bucles de sincronización.

Ambas tareas se configuran de forma secuencial: complete e inicie primero la tarea directa y después configure la tarea inversa.

A continuación se muestra una tabla con las diferencias principales en la configuración de ambas tareas.

Configuración

Tarea directa

Tarea inversa

Synchronization types

Sincronización de esquema + sincronización completa de datos + sincronización incremental de datos

Solo sincronización incremental de datos

Synchronization topology

Sincronización bidireccional

Sincronización bidireccional

Exclude DDL operations

Sí

Sí

Processing mode of conflicting tables

Comprobación previa y reporte de errores (recomendado)

Se omite para los objetos ya sincronizados por la tarea directa

Source

Instancia A

Instancia B

Destination

Instancia B

Instancia A

Límites

Base de datos de origen

  • Las tablas deben tener una clave primaria o una restricción UNIQUE con valores de campo únicos. Sin alguna de estas, pueden aparecer registros duplicados en el destino.

  • No es posible usar instancias de PolarDB-X 2.0 de solo lectura como origen.

  • Si sincroniza a nivel de tabla con mapeo de columnas y la tarea incluye más de 5,000 tablas, divida las tablas en varias tareas o cambie a la sincronización a nivel de base de datos.

  • Las tablas con letras mayúsculas en su nombre solo admiten la sincronización de esquema.

  • No se admite la sincronización de grupos de tablas ni de bases de datos o tablas con la propiedad Locality.

  • No se pueden sincronizar las tablas cuyo nombre sea una palabra reservada (por ejemplo, select).

  • No ejecute operaciones DDL durante la sincronización de esquema ni durante la sincronización completa de datos. DTS consulta la base de datos de origen durante la sincronización completa, lo que genera bloqueos de metadatos que pueden impedir las operaciones DDL.

  • No se pueden sincronizar las particiones de base de datos en modo DRDS dentro de una instancia de PolarDB-X 2.0.

Sincronización bidireccional

  • No se admite la sincronización DDL. Establezca Exclude DDL operations en Yes al configurar la tarea.

  • La sincronización bidireccional no es compatible si alguna de las instancias es una instancia Enterprise Edition que utiliza un motor de registros de múltiples flujos.

  • Ambas instancias deben estar en la versión polarx-kernel_5.4.15-16774576_xcluster-20221223 o posterior. Consulte Consulta y actualización de la versión de la instancia.

  • No escriba datos en la instancia de destino desde fuentes distintas a DTS mientras se ejecuta la sincronización. Las escrituras externas provocan inconsistencia de datos.

  • Ejecute la sincronización fuera del horario de mayor actividad. La sincronización inicial completa de datos consume recursos de lectura y escritura en ambas instancias y aumenta la carga.

  • Después de la sincronización inicial completa de datos, el espacio de tablas de destino será mayor que el de origen debido a la fragmentación generada por las operaciones INSERT simultáneas.

  • DTS actualiza periódicamente la tabla ha_health_check en la base de datos dts_health_check para avanzar el desplazamiento del registro binario.

Claves foráneas

  • DTS sincroniza las claves foráneas del origen al destino durante la sincronización de esquema.

  • DTS deshabilita las comprobaciones de restricciones y las operaciones en cascada de claves foráneas a nivel de sesión durante la sincronización completa e incremental. Si se ejecutan actualizaciones o eliminaciones en cascada en el origen mientras la tarea está activa, puede producirse inconsistencia de datos.

Recuperación tras errores de tarea

Si una tarea falla, el equipo de soporte de DTS intentará restaurarla en un plazo de ocho horas mediante el reinicio de la tarea o el ajuste de los parámetros de la tarea de DTS (no de los parámetros de la base de datos). Para consultar la lista de parámetros que se pueden ajustar, vea Modificación de parámetros de instancia.

Facturación

Tipo de sincronización

Precio

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

Gratuita

Sincronización incremental de datos

De pago. Consulte Descripción general de la facturación.

Operaciones SQL compatibles

Tipo de operación

Instrucción SQL

DML

INSERT, UPDATE, DELETE

Configuración de la tarea directa

Paso 1: Abrir la lista de tareas de sincronización de datos

Acceda a la lista de tareas de sincronización de datos en la región de destino mediante uno de los siguientes métodos.

Consola de DTS

  1. Inicie sesión en DTS console.

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

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

Consola de DMS

Nota

Los pasos reales pueden variar según el modo y el diseño de la consola de DMS. Para más información, consulte Consola en modo simple y Personalización del diseño y estilo de la consola de DMS.

  1. Inicie sesión en DMS console.

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

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

Paso 2: Crear la tarea

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

Paso 3: Configurar las bases de datos de origen y destino

Aviso

Después de seleccionar las instancias de origen y destino, revise los Limits que se muestran en la parte superior de la página antes de continuar.

Categoría

Campo

Valor

N/D

Task name

DTS genera un nombre automáticamente. Introduzca un nombre descriptivo para facilitar su identificación. Los nombres no necesitan ser únicos.

Base de datos de origen

Select existing connection

Seleccione una instancia de base de datos registrada de la lista para completar automáticamente los campos siguientes. En la consola de DMS, este campo se etiqueta como Select a DMS database instance. Si no hay ninguna instancia registrada disponible, complete los campos manualmente.

Database type

Seleccione PolarDB-X 2.0.

Access method

Seleccione Alibaba Cloud Instance.

Instance region

Seleccione la región de la instancia de origen.

Replicate data across Alibaba Cloud accounts

Seleccione No (sincronización en la misma cuenta).

Instance ID

Seleccione el ID de la instancia de origen.

Database account

Introduzca la cuenta con privilegios de la instancia de origen.

Database password

Introduzca la contraseña de la cuenta.

Base de datos de destino

Select existing connection

Seleccione una instancia de base de datos registrada de la lista para completar automáticamente los campos siguientes. En la consola de DMS, este campo se etiqueta como Select a DMS database instance. Si no hay ninguna instancia registrada disponible, complete los campos manualmente.

Database type

Seleccione PolarDB-X 2.0.

Access method

Seleccione Alibaba Cloud Instance.

Instance region

Seleccione la región de la instancia de destino.

Instance ID

Seleccione el ID de la instancia de destino.

Database account

Introduzca la cuenta con privilegios de la instancia de destino.

Database password

Introduzca la contraseña de la cuenta.

Haga clic en Test Connectivity and Proceed.

Los servidores de DTS deben tener permiso para conectarse a ambas instancias. Agregue los bloques CIDR de IP de DTS a la configuración de seguridad de ambas bases de datos, ya sea de forma automática o manual. Consulte Agregar la lista blanca de direcciones IP de los servidores de DTS .

Paso 4: Seleccionar los objetos que se van a sincronizar

En la página Configure Objects, configure los siguientes ajustes.

Configuración

Descripción

Synchronization types

DTS siempre selecciona Incremental Data Synchronization. Seleccione también Schema Synchronization y Full Data Synchronization para la tarea directa. Después de la comprobación previa, DTS inicializa el destino con todos los datos de origen como línea base para la sincronización incremental.

Processing mode of conflicting tables

Precheck and Report Errors: DTS comprueba si existen tablas con el mismo nombre en el destino. Si encuentra alguna, la comprobación previa falla y la tarea no se inicia. Para resolver conflictos de nombres sin eliminar la tabla de destino, asigne un nombre distinto al objeto mediante mapeo. Consulte Mapeo de nombres de bases de datos, tablas y columnas. Ignore Errors and Proceed: Omite la comprobación. Úselo con precaución, ya que puede provocar inconsistencia de datos. Durante la sincronización completa de datos, DTS omite los registros de origen que entran en conflicto con los del destino en la clave primaria o única. Durante la sincronización incremental, DTS sobrescribe el registro de destino en conflicto.

Synchronization topology

Seleccione Two-way Synchronization.

Exclude DDL operations

Seleccione Yes. En este escenario no es posible sincronizar operaciones DDL.

Conflict resolution policy

Seleccione una política: TaskFailed: la tarea se detiene y entra en estado de error cuando ocurre un conflicto. Requiere recuperación manual. Ignore: DTS omite la instrucción en conflicto y conserva el registro existente en el destino. Overwrite: DTS sobrescribe el registro de destino con el registro de origen.

Source objects

Haga clic en los objetos del cuadro Source Objects y luego haga clic en el icono de flecha para moverlos al cuadro Selected Objects. Seleccione los objetos a nivel de base de datos, tabla o columna. Si selecciona solo tablas o columnas, DTS no sincronizará otros tipos de objetos, como vistas, desencadenadores y procedimientos almacenados.

Selected objects

Para cambiar el nombre de un solo objeto en el destino, haga clic derecho sobre él en el cuadro Selected Objects. Consulte Mapeo del nombre de un solo objeto. Para cambiar el nombre de varios objetos de forma masiva, haga clic en Batch Edit. Consulte Mapeo masivo de nombres de varios objetos. Para filtrar filas, haga clic derecho en una tabla y establezca una cláusula WHERE. Consulte Set filter conditions. Para elegir qué operaciones SQL se sincronizan para un objeto específico, haga clic derecho sobre él y elija las operaciones deseadas. Si utiliza el mapeo de nombres de objetos, es posible que otros objetos dependientes del objeto asignado no se sincronicen correctamente.

Haga clic en Next: Advanced Settings.

Paso 5: Configurar los ajustes avanzados

Configuración Descripción
Dedicated cluster for task scheduling De forma predeterminada, DTS utiliza un clúster compartido. Para obtener mayor estabilidad, adquiera un clúster dedicado. Consulte ¿Qué es un clúster dedicado de DTS?.
Retry time for failed connections Si la conexión con el origen o el destino falla después de que se inicie la tarea, DTS vuelve a intentarlo de inmediato. Valor predeterminado: 720 minutos. Rango: de 10 a 1,440 minutos. Establézcalo en 30 minutos o más. Si la conexión se restablece dentro de la ventana de reintentos, la tarea se reanuda automáticamente; de lo contrario, falla. Si varias instancias de DTS comparten un origen o un destino, DTS utiliza la duración de reintento más corta configurada entre todas las instancias. DTS cobra por el tiempo de ejecución de la tarea durante los reintentos.
Retry time for other issues Si ocurre un problema que no está relacionado con la conectividad (por ejemplo, un error de ejecución DDL o DML), DTS vuelve a intentarlo de inmediato. Valor predeterminado: 10 minutos. Rango: de 1 a 1,440 minutos. Establézcalo en más de 10 minutos. Este valor debe ser menor que Retry time for failed connections.
Enable throttling for full data synchronization Limite la velocidad de sincronización completa al establecer Queries per second (QPS) to the source database, RPS of Full Data Migration y Data migration speed for full migration (MB/s). Disponible solo cuando se selecciona Full Data Synchronization. También puede ajustar la velocidad mientras la tarea se ejecuta. Consulte Habilitación de la limitación de velocidad para la migración de datos.
Enable throttling for incremental data synchronization Limite la velocidad de sincronización incremental al establecer RPS of Incremental Data Synchronization y Data synchronization speed for incremental synchronization (MB/s).
Environment tag Seleccione una etiqueta para identificar la instancia o deje el campo vacío.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks Elija si DTS escribe SQL de latido en la base de datos de origen. Yes: DTS no escribe SQL de latido. La instancia podría mostrar latencia de sincronización. No: DTS escribe SQL de latido. Esto puede interferir con operaciones de la base de datos de origen, como copias de seguridad físicas y clonaciones.
Monitoring and alerting No: No se configuran alertas. Yes: Configure un umbral de alerta y contactos de notificación. Si la tarea falla o la latencia de sincronización supera el umbral, DTS envía una notificación. Consulte Configuración del monitoreo y las alertas durante la configuración de la tarea.

Paso 6: Configurar la verificación de datos (opcional)

Haga clic en Data Verification para configurar una tarea de verificación de datos. Consulte Configuración de la verificación de datos.

Paso 7: Guardar y ejecutar la comprobación previa

Para previsualizar los parámetros de la API antes de guardar, pase el cursor sobre Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters.

Haga clic en Next: Save Task Settings and Precheck.

DTS ejecuta una comprobación previa antes de iniciar la tarea. Si la comprobación falla, haga clic en View Details junto al elemento con errores, corrija el problema y vuelva a ejecutar la comprobación previa. Si la comprobación devuelve advertencias: para las advertencias que no se pueden ignorar, corrija el problema y repita el proceso; para las que sí se pueden ignorar, haga clic en Confirm Alert Details > Ignore > OK y, a continuación, haga clic en Precheck Again . Ignorar advertencias puede provocar inconsistencia de datos.

Paso 8: Adquirir 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 clase de instancia:

Configuración

Descripción

Billing method

Subscription: pague por adelantado por una duración fija. Resulta rentable para tareas de larga duración. Pay-as-you-go: facturación por hora. Recomendado para tareas de prueba o de corta duración.

Resource group settings

El resource group de la instancia. El valor predeterminado es default resource group. Consulte ¿Qué es Resource Management?.

Instance class

Seleccione una clase según sus requisitos de rendimiento. Consulte Especificaciones de enlaces de sincronización de datos.

Subscription duration

Aparece solo para el método de facturación Subscription. Opciones mensuales: de 1 a 9 meses. Opciones anuales: 1, 2, 3 o 5 años.

  1. Lea y seleccione la casilla de verificación de Data Transmission Service (Pay-as-you-go) Service Terms.

  2. Haga clic en Buy and Start y luego en OK.

Supervise la tarea en la página de sincronización de datos.

Configuración de la tarea inversa

Espere hasta que el Status de la tarea directa sea Running, lo que indica que la sincronización inicial completa de datos ha finalizado.

  1. Localice la tarea de sincronización inversa en la lista y haga clic en Configure Task.

  2. Siga los pasos 3 a 6 anteriores para configurar la tarea inversa.

Tenga en cuenta las siguientes restricciones para la tarea inversa:

  • El origen de la tarea inversa es el destino de la tarea directa, y el destino de la tarea inversa es el origen de la tarea directa. Confirme que la información de la instancia (nombre de la base de datos, cuenta y contraseña) sea correcta antes de continuar.

  • No es posible modificar Instance region en la tarea inversa.

  • En Synchronization types, seleccione únicamente Incremental Data Synchronization. No incluya Schema Synchronization ni Full Data Synchronization.

  • La configuración Processing mode of conflicting tables de la tarea inversa omite automáticamente las tablas que la tarea directa ya sincronizó en el destino.

  • La tarea inversa no puede sincronizar los objetos incluidos en Selected objects de la tarea directa.

  • No utilice la función de mapeo de nombres de objetos para la tarea inversa, ya que puede provocar inconsistencia de datos.

Cuando Success Rate alcance 100%, haga clic en Back.

Verificación

Espere hasta que el Status de ambas tareas de sincronización sea Running. Con esto concluye la configuración de la sincronización bidireccional de datos.

Pasos siguientes