Todos los productos
Search
Centro de documentos

Data Transmission Service:Synchronize data from a PolarDB for MySQL cluster to an ApsaraDB for ClickHouse cluster

Última actualización: Sep 18, 2026

Data Transmission Service (DTS) mantiene sincronizado en tiempo real un clúster de PolarDB for MySQL con un clúster de ApsaraDB for ClickHouse. Esto permite centralizar el análisis sin interrumpir la base de datos de origen.

Tipos de sincronización y facturación

Synchronization type

Billing

Sincronización de esquemas

Gratuita

Sincronización completa de datos

Gratuita

Sincronización incremental de datos

De pago. Para más detalles, consulte Descripción general de la facturación.

Requisitos previos

Antes de empezar, compruebe lo siguiente:

Importante

Los registros binarios del clúster de origen deben conservarse durante como mínimo siete días. Un periodo de retención más corto puede provocar que DTS pierda su posición en el registro binario, lo que genera errores en la tarea o pérdida de datos. Habilitar el registro binario implica cargos de almacenamiento en PolarDB for MySQL.

Permisos obligatorios para las cuentas de base de datos

Base de datos

Permisos obligatorios

Referencias

Clúster de origen de PolarDB for MySQL

Permisos de lectura sobre todos los objetos que se van a sincronizar

Create and manage a database account y Manage the password of a database account

ApsaraDB for ClickHouse de destino V22.8 o posterior

Permisos de lectura y escritura en la base de datos de destino (una cuenta con privilegios es suficiente)

Manage database accounts in a Community-compatible Edition cluster

ApsaraDB for ClickHouse de destino V21.8

Read, Write and Set Permissions y Enable DDL

Igual que el anterior

Límites

Límites de la instancia de origen

  • El servidor de origen debe contar con suficiente ancho de banda de salida. Un ancho de banda insuficiente ralentiza la sincronización.

  • Si sincroniza tablas y desea cambiarles el nombre o modificar columnas en el destino, una sola tarea admite hasta 1,000 tablas. Si supera esa cantidad, divida el trabajo en varias tareas o sincronice toda la base de datos.

  • No ejecute operaciones DDL en el origen durante la sincronización completa de datos, ya que esto provocará errores en la tarea.

  • No se admite la sincronización de datos de tipo VECTOR.

Otros límites

  • DTS no sincroniza nodos de solo lectura ni tablas externas de Object Storage Service (OSS) desde el clúster de origen.

  • Las instrucciones DDL que no correspondan a la sintaxis estándar de MySQL pueden generar errores en la tarea o pérdida de datos.

  • RENAME TABLE no es compatible.

  • Los valores DATETIME del origen deben estar dentro de los rangos de tiempo compatibles con ClickHouse (consulte Time range).

  • Todas las columnas seleccionadas como Partition Key deben ser campos no vacíos.

  • Se pueden sincronizar hasta 256 bases de datos hacia un solo clúster de ApsaraDB for ClickHouse.

  • Los nombres de bases de datos, tablas y columnas deben cumplir con las convenciones de nomenclatura de ApsaraDB for ClickHouse. Consulte Limits on object naming conventions.

  • Durante la sincronización de esquemas, DTS agrega los campos _sign, _is_deleted y _version a las tablas de destino. Si deshabilita Schema Synchronization, cree la tabla de destino manualmente e incluya estos campos.

  • No escriba datos de otras fuentes en la base de datos de destino durante la sincronización. Las escrituras simultáneas generan inconsistencia en los datos.

  • No utilice pt-online-schema-change para ejecutar DDL en las tablas que se sincronizan a nivel de tabla. En su lugar, use DDL sin bloqueo de Data Management (DMS).

  • Ejecute la sincronización en horarios de baja demanda siempre que sea posible. La sincronización completa de datos consume recursos de lectura y escritura en ambos clústeres.

  • Si una tarea presenta errores, el soporte de DTS intentará restaurarla en un plazo de 8 horas. Durante este proceso, podría reiniciar la tarea o modificar sus parámetros (no los de la base de datos).

Operaciones SQL compatibles con la sincronización de datos

DML

INSERT, UPDATE y DELETE

DDL

DDL operation

Supported

CREATE TABLE

Sí

TRUNCATE TABLE

Sí

ALTER TABLE

Sí

ADD COLUMN

Sí

MODIFY COLUMN

Sí

DROP TABLE

Sí

DROP COLUMN

Sí

RENAME TABLE

No

Mapeo de tipos de datos

PolarDB for MySQL y ApsaraDB for ClickHouse admiten distintos tipos de datos. Durante la sincronización inicial del esquema, DTS asigna los tipos de origen a tipos compatibles en el destino. Consulte Data type mappings for initial schema synchronization.

Crear una tarea de sincronización

Paso 1: Ir a la página de sincronización de datos

Consola de DTS

  1. Inicie sesión en la consola de DTS

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

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

Consola de DMS

Nota

La ruta de navegación exacta varía según el modo de la consola de DMS. Consulte Modo simple y Personalizar el diseño y estilo de la consola de DMS.

  1. Inicie sesión en la consola de DMS

  2. En la barra de navegación superior, coloque el puntero sobre Data + AI y elija DTS (DTS) > Data Synchronization.

  3. En la lista desplegable junto a Data Synchronization Tasks, seleccione la región donde residirá la instancia de sincronización.

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

Haga clic en Create Task y complete los siguientes parámetros.

Sección

Parámetro

Descripción

N/A

Task Name

Nombre de la tarea de DTS. El sistema genera uno automáticamente. Use un nombre descriptivo para identificarla fácilmente. No es obligatorio que sea único.

Source Database

Select Existing Connection

Seleccione una instancia de base de datos registrada en la lista desplegable o configure la conexión manualmente si la instancia no está registrada.

Database Type

Seleccione PolarDB for MySQL.

Access Method

Seleccione Alibaba Cloud Instance.

Instance Region

Región donde reside el clúster de origen de PolarDB for MySQL.

Replicate Data Across Alibaba Cloud Accounts

Seleccione No para sincronizar dentro de la misma cuenta.

PolarDB Cluster ID

ID del clúster de origen de PolarDB for MySQL.

Database Account

Cuenta de base de datos del clúster de origen.

Database Password

Contraseña de la cuenta.

Encryption

Indica si se cifra la conexión con la base de datos de origen. Consulte Configure SSL encryption.

Destination Database

Select Existing Connection

Seleccione una instancia registrada o configure la conexión manualmente.

Database Type

Seleccione ClickHouse.

Access Method

Seleccione Alibaba Cloud Instance.

Instance Region

Región donde reside el clúster de destino de ApsaraDB for ClickHouse.

Replicate Data Across Alibaba Cloud Accounts

Seleccione No para sincronizar dentro de la misma cuenta.

Cluster Type

Tipo del clúster de destino de ApsaraDB for ClickHouse.

Cluster ID

ID del clúster de destino de ApsaraDB for ClickHouse.

Database Account

Cuenta de base de datos del clúster de destino.

Database Password

Contraseña de la cuenta.

Haga clic en Test Connectivity and Proceed.

Compruebe que los bloques CIDR de los servidores de DTS estén agregados a las reglas del security group de las bases de datos de origen y de destino. Consulte Agregar los bloques CIDR de los servidores de DTS .

Paso 3: Configurar los objetos que se van a sincronizar

En el paso Configure Objects, establezca los siguientes parámetros.

Parámetro

Descripción

Synchronization Types

Seleccione Schema Synchronization, Full Data Synchronization y Incremental Data Synchronization. La sincronización completa carga los datos históricos antes de iniciar la sincronización incremental.

Processing Mode of Conflicting Tables

Precheck and Report Errors (predeterminado): genera un error en la comprobación previa si el destino contiene tablas con el mismo nombre que las del origen. Utilice el mapeo de nombres de objetos para evitar conflictos. Ignore Errors and Proceed: omite la comprobación de conflictos. Durante la sincronización completa, se conservan los registros existentes en el destino; en la incremental, se sobrescriben. Si los esquemas difieren, la tarea puede presentar errores. Úselo con precaución.

Capitalization of Object Names in Destination Instance

Controla el uso de mayúsculas y minúsculas en los nombres de bases de datos, tablas y columnas. Valor predeterminado: DTS default policy. Consulte Especificar el uso de mayúsculas y minúsculas en los nombres de objetos de la instancia de destino.

Source Objects

Seleccione las bases de datos, tablas o columnas que desea sincronizar y haga clic en el ícono de flecha para agregarlas a Selected Objects.

Selected Objects

Haga clic derecho en un objeto para cambiarle el nombre, o bien haga clic en Batch Edit para renombrar varios objetos a la vez. Haga clic derecho en una tabla para agregar condiciones de filtro SQL. Consulte Mapear nombres de objetos y Set filter conditions

    .

    Si utiliza el mapeo de nombres de objetos, aquellos que dependan de los elementos renombrados podrían no sincronizarse correctamente.

    Haga clic en Next: Advanced Settings y configure los siguientes parámetros.

    Parameter

    Description

    Dedicated Cluster for Task Scheduling

    De forma predeterminada, DTS usa el clúster compartido. Para mayor estabilidad, adquiera un clúster dedicado. Consulte ¿Qué es un clúster dedicado de DTS?.

    Time zone of destination database

    Zona horaria que se aplica a los datos DateTime escritos en el clúster de destino de ClickHouse.

    Retry Time for Failed Connections

    Tiempo durante el cual DTS reintenta las conexiones con errores después de iniciar la tarea. Valores válidos: de 10 a 1440 minutos. Valor predeterminado: 720 minutos. Establezca como mínimo 30 minutos. Si varias tareas comparten el mismo origen o destino, se aplica el tiempo de reintento más corto. Los cargos de DTS continúan durante los reintentos.

    Retry Time for Other Issues

    Tiempo durante el cual DTS reintenta las operaciones DDL o DML con errores. Valores válidos: de 1 a 1440 minutos. Valor predeterminado: 10 minutos. Establezca como mínimo 10 minutos. Este valor debe ser menor que Retry Time for Failed Connections.

    Enable Throttling for Full Data Synchronization

    Limita la carga de lectura y escritura durante la sincronización completa. Configure Queries per second (QPS) to the source database, RPS of Full Data Migration y Data migration speed for full migration (MB/s). Solo está disponible cuando se selecciona Full Data Synchronization.

    Enable Throttling for Incremental Data Synchronization

    Limita la carga durante la sincronización incremental. Configure RPS of Incremental Data Synchronization y Data synchronization speed for incremental synchronization (MB/s).

    Whether to delete SQL operations on heartbeat tables of forward and reverse tasks

    Yesconfiguración de notificaciones de alerta: DTS no escribe SQL de latido en el origen, lo que podría mostrar latencia en la tarea. No: DTS escribe SQL de latido, lo que puede afectar la copia de seguridad física y la clonación del origen.

    Environment Tag

    Etiquetas opcionales para categorizar la instancia de sincronización.

    Configure ETL

    Indica si se habilita la función de extracción, transformación y carga (ETL). Yes: introduzca las instrucciones de procesamiento de datos en el editor de código. Consulte Configurar ETL en una tarea de migración o sincronización de datos. No: omita ETL.

    Monitoring and Alerting

    Yes: configure los umbrales de alerta y los contactos de notificación para que DTS le avise cuando la tarea presente errores o la latencia supere el umbral. Consulte Configurar monitoreo y alertas. No: no se envían alertas.

    Haga clic en Next: Configure Database and Table Fields para establecer Type, Primary Key Column, Sort Key, Distribution Key y Partition Key de cada tabla de destino en ClickHouse.

    DTS configura estos campos automáticamente de forma predeterminada. Para modificarlos, establezca Definition Status en All .
    Primary Key Column y Sort Key aceptan varias columnas. Distribution Key acepta solo una columna.
    Partition Key es opcional. Si lo configura, todas las columnas seleccionadas deben ser campos no vacíos.
    Para obtener detalles sobre los parámetros de las tablas de ClickHouse, consulte CREATE TABLE .

    Paso 4: Ejecutar la comprobación previa

    Haga clic en Next: Save Task Settings and Precheck.

    Para previsualizar los parámetros de la API de esta tarea, coloque el puntero sobre Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters .

    DTS ejecuta una comprobación previa antes de iniciar la tarea. Si la comprobación presenta errores:

    • Haga clic en View Details junto al elemento con errores, corrija el problema y haga clic en Precheck Again.

    • Para los elementos de alerta que se puedan ignorar, haga clic en Confirm Alert Details > Ignore > OK y luego en Precheck Again. Ignorar alertas puede causar inconsistencia en los datos.

    Paso 5: Adquirir una instancia

    1. Espere a que Success Rate alcance 100% y luego haga clic en Next: Purchase Instance.

    2. En la página buy, configure los siguientes parámetros.

    Parameter

    Description

    Billing Method

    Subscription: pago por adelantado, más rentable para uso a largo plazo. Pay-as-you-go: facturación por hora, adecuado para uso a corto plazo. Libere la instancia cuando ya no la necesite para detener los cargos.

    Resource Group Settings

    Resource group de la instancia de sincronización. Valor predeterminado: default resource group. Consulte ¿Qué es Resource Management?

    Instance Class

    La clase de instancia determina la velocidad de sincronización. Consulte Clases de instancia para instancias de sincronización de datos.

    Subscription Duration

    Disponible solo para la facturación por Subscription. Opciones: de 1 a 9 meses, o 1, 2, 3 o 5 años.

    1. Lea y seleccione Data Transmission Service (Pay-as-you-go) Service Terms.

    2. Haga clic en Buy and Start y luego en OK en el cuadro de diálogo de confirmación.

    La tarea aparecerá en la lista de tareas. Desde ahí podrá monitorear su progreso.

    Consultar los datos sincronizados

    Una vez completada la sincronización, utilice la siguiente instrucción para consultar los datos en el clúster de destino de ClickHouse:

    SELECT * FROM table_name FINAL WHERE _sign > 0;

    La palabra clave FINAL combina las filas con la misma clave de ordenamiento y devuelve la versión más reciente. El filtro WHERE _sign > 0 excluye las filas marcadas para eliminación.

    Apéndice

    Rangos de tiempo

    Data type

    Minimum value

    Maximum value

    Date

    1970-01-01 00:00:00

    2149-06-06 00:00:00

    Date32

    1925-01-01 00:00:00

    2283-11-11 00:00:00

    DateTime

    1970-01-01 08:00:00

    2106-02-07 14:28:15

    DateTime64

    1925-01-01 08:00:00

    2283-11-12 07:59:59

    Tablas

    Si crea las tablas de destino manualmente (sin sincronización de esquemas), estas deben cumplir con los siguientes requisitos.

    Importante

    Si la tabla de destino incluye el parámetro ENGINE, establézcalo en ENGINE = ReplicatedReplacingMergeTree(_version, _is_deleted). Cualquier otro valor provoca inconsistencia en los datos.

    • Community-compatible Edition: cree una tabla local y una distribuida. El nombre de la tabla distribuida debe coincidir con el de la tabla de origen. El nombre de la tabla local sigue el formato <distributed_table_name>_local.

    • Enterprise Edition: cree una tabla con el mismo nombre que la tabla de origen.

    Campos

    DTS agrega los siguientes campos de metadatos a las tablas de destino.

    ApsaraDB for ClickHouse Community-compatible Edition con la versión V23.8 o anterior

    Field

    Data type

    Default value

    Description

    _sign

    Int8

    1

    Tipo de operación DML: INSERT o UPDATE = 1; DELETE = -1.

    _version

    UInt64

    1

    Hora en la que se escribió la fila en el clúster de ClickHouse.

    ApsaraDB for ClickHouse Enterprise Edition o Community-compatible Edition con la versión V23.8 o posterior

    Field

    Data type

    Default value

    Description

    _sign

    Int8

    1

    Tipo de operación DML: INSERT o UPDATE = 1; DELETE = -1.

    _is_deleted

    UInt8

    0

    Indica si la fila está eliminada: INSERT o UPDATE = 0; DELETE = 1.

    _version

    UInt64

    1

    Marca de tiempo en la que se escribió la fila en el clúster de ClickHouse.