Todos los productos
Search
Centro de documentos

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

Última actualización: Sep 20, 2026

Data Transmission Service (DTS) le permite migrar datos de un clúster de PolarDB for MySQL a un clúster de ApsaraDB for ClickHouse. Esto facilita el análisis centralizado de sus datos operativos.

Pasos mínimos para completar esta migración:

  1. Cumpla con los requisitos previos (versión del clúster de ClickHouse y registro binario, si es necesario).

  2. Otorgue los permisos obligatorios en las bases de datos de origen y de destino.

  3. Cree y configure una tarea de migración de DTS.

  4. Ejecute la comprobación previa, adquiera una instancia e inicie la migración.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Un clúster de ApsaraDB for ClickHouse que ejecute la versión 20.8 o posterior. Consulte Create a cluster.

  • Un clúster de ClickHouse cuyo espacio de almacenamiento sea mayor que el espacio utilizado en el clúster de origen de PolarDB for MySQL.

  • Para la migración incremental de datos: el registro binario habilitado en el clúster de origen, con el parámetro loose_polar_log_bin establecido en on. Consulte Enable binary logging y Modificar parámetros.

Habilitar el registro binario en un clúster de PolarDB for MySQL genera cargos de almacenamiento por los archivos de registro binario. Establezca el periodo de retención del registro binario en como mínimo 3 días (se recomiendan 7 días) para evitar que DTS pierda el acceso a los registros. Consulte Modificar el periodo de retención .

Facturación

Migration type

Link setup fee

Data transfer cost

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

Gratis

Gratis

Migración incremental de datos

Con cargo

Consulte Billing overview

Permisos obligatorios

Otorgue los siguientes permisos antes de configurar la tarea de migración.

Base de datos

Permisos obligatorios

Cómo otorgarlos

Clúster de origen de PolarDB for MySQL

Permisos de lectura sobre los objetos de migración

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

Clúster de destino de ApsaraDB for ClickHouse (v22.8 o posterior)

Permisos de lectura y escritura; una cuenta con privilegios cumple este requisito

Account management for Community-compatible Edition clusters

Clúster de destino de ApsaraDB for ClickHouse (v21.8)

Read, Write y Set Permissions; además de Enable DDL

Igual que el anterior

Límites

Límites de la base de datos de origen

  • El servidor de la base de datos de origen debe tener suficiente ancho de banda de salida. Un ancho de banda bajo reduce la velocidad de migración.

  • Una sola tarea de migración admite un máximo de 1,000 tablas cuando se migra a nivel de tabla con asignación de nombres de objetos. Si supera este límite, divida las tablas en varias tareas o realice la migración a nivel de base de datos.

  • Durante la migración de esquemas y la migración completa de datos, no ejecute operaciones DDL en la base de datos de origen, ya que esto provoca errores en la tarea de migración.

Durante la migración completa de datos, DTS consulta la base de datos de origen y podría crear un bloqueo de metadatos que impide temporalmente las operaciones DDL.
  • Si solo ejecuta la migración completa de datos (sin migración incremental), no escriba datos nuevos en la base de datos de origen durante el proceso. De lo contrario, se producirá inconsistencia en los datos.

Otros límites

  • Los nodos de solo lectura del clúster de origen de PolarDB for MySQL no se pueden migrar.

  • Las tablas externas de Object Storage Service (OSS) no se migran.

  • No son compatibles los siguientes tipos de objetos: INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER y FOREIGN KEY (FK).

  • No se admite el cambio entre nodo principal y secundario durante la migración completa de datos. Si ocurre un cambio, vuelva a configurar la tarea de migración.

  • La operación RENAME TABLE no se puede migrar.

  • El número máximo de bases de datos para migrar es 256 (límite de ApsaraDB for ClickHouse).

  • Los nombres de bases de datos, tablas y columnas deben cumplir con ApsaraDB for ClickHouse naming conventions.

  • La clave de partición (Partition Key) no puede ser un campo que acepte valores nulos. Las claves de partición solo admiten los tipos de datos BIGINT, INT, TIMESTAMP, DATETIME y DATE.

  • Los datos de tipo hora en ApsaraDB for ClickHouse tienen límites de rango específicos. Para más detalles, consulte Rangos de los tipos de datos de hora.

  • Cuando la migración de esquemas está habilitada, DTS agrega automáticamente los campos _sign, _is_deleted y _version a las tablas de destino. Si omite la migración de esquemas, cree manualmente las tablas de destino con estos campos. Consulte Requisitos de las tablas de destino.

  • Durante la migración con DTS, no escriba datos de otras fuentes en la base de datos de destino, ya que esto genera inconsistencia en los datos.

  • Si una instancia de DTS presenta errores, el equipo de DTS intenta recuperarla en un plazo de 8 horas. Las operaciones de recuperación pueden incluir reiniciar la instancia y ajustar los parámetros de la instancia de DTS (nunca se modifican los parámetros de la base de datos).

  • Antes de la migración, evalúe el rendimiento de ambas bases de datos y ejecute el proceso en horarios de baja demanda para reducir la carga.

  • Si migra tablas específicas (y no una base de datos completa), no utilice pt-online-schema-change para aplicar cambios DDL en línea en esas tablas, ya que esto provoca errores en la migración. En su lugar, use Data Management (DMS). Consulte Cambiar esquemas sin bloquear tablas.

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

Límites de DDL en línea

Tool or mode

Behavior

DMS o gh-ost (cambios DDL en línea en el origen)

DTS migra la instrucción DDL original al destino sin migrar los datos de la tabla temporal, lo cual podría generar bloqueos de tabla en el destino.

pt-online-schema-change

No es compatible. Podrían perderse datos en el destino o la instancia de migración podría presentar errores.

DDL en línea con modo de tabla temporal (incluida la fusión de varias tablas)

Podrían perderse datos en el destino o la instancia de migración podría presentar errores.

Sintaxis DDL de MySQL no estándar en el origen

La migración podría presentar errores o podrían perderse datos.

Operaciones SQL compatibles con la migración incremental

Operation type

Supported SQL statements

Unsupported SQL statements

DML

INSERT, UPDATE, DELETE

—

DDL

CREATE TABLE, TRUNCATE TABLE, DROP TABLE, ADD COLUMN, MODIFY COLUMN, DROP COLUMN

RENAME TABLE; todas las instrucciones DDL relacionadas con INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER y FOREIGN KEY

Asignaciones de tipos de datos

PolarDB for MySQL y ApsaraDB for ClickHouse admiten distintos tipos de datos, por lo que no siempre es posible establecer una correspondencia exacta. Durante la migración de esquemas, DTS asigna los tipos de datos de origen a los tipos más similares compatibles con ClickHouse. Consulte Data type mappings between heterogeneous databases para ver la tabla de asignaciones completa.

Crear una tarea de migración

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

Utilice una de las siguientes consolas.

Consola de DTS

  1. Inicie sesión en la consola de DTS.

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

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

Consola de DMS

Los pasos exactos pueden variar según el modo y el diseño de su consola de DMS. Consulte Modo simple y Personalizar el diseño y el 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 > DTS (DTS) > Data Migration.

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

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

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

Categoría

Parámetro

Descripción

—

Task Name

Nombre de la tarea de DTS. El sistema genera uno automáticamente. Especifique un nombre descriptivo para identificar la tarea con facilidad. No es obligatorio que el nombre sea único.

Source Database

Select Existing Connection

Seleccione una instancia de base de datos registrada en la lista desplegable; DTS completará automáticamente los parámetros restantes. Si la instancia no está registrada, complete los parámetros de forma manual. En la consola de DMS, utilice la lista desplegable Select a DMS database instance.

Database Type

Seleccione PolarDB for MySQL.

Access Method

Seleccione Alibaba Cloud Instance.

Instance Region

Seleccione la región donde reside el clúster de origen de PolarDB for MySQL.

Replicate Data Across Alibaba Cloud Accounts

Seleccione No para una migración dentro de la misma cuenta.

PolarDB Cluster ID

Seleccione el identificador del clúster de origen de PolarDB for MySQL.

Database Account

Introduzca la cuenta de la base de datos. Consulte Permissions required.

Database Password

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

Encryption

Seleccione un método de cifrado según sus necesidades. Para el cifrado Secure Sockets Layer (SSL), consulte Set SSL encryption.

Destination Database

Select Existing Connection

Igual que en el origen: seleccione una instancia registrada o complete los parámetros de forma manual.

Database Type

Seleccione ClickHouse.

Access Method

Seleccione Alibaba Cloud Instance.

Instance Region

Seleccione la región donde reside el clúster de destino de ApsaraDB for ClickHouse.

Replicate Data Across Alibaba Cloud Accounts

Seleccione No para una migración dentro de la misma cuenta.

Cluster Type

Seleccione el tipo de clúster de ApsaraDB for ClickHouse.

Cluster ID

Seleccione el identificador del clúster de destino de ApsaraDB for ClickHouse.

Database Account

Introduzca la cuenta de la base de datos. Consulte Permissions required.

Database Password

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

Haga clic en Test Connectivity and Proceed.

Asegúrese de que los bloques CIDR de los servidores de DTS estén agregados a la configuración de seguridad (lista de permitidos) de ambas bases de datos. Consulte Agregar direcciones IP de los servidores de DTS a una lista de permitidos .

Paso 3: Configurar los objetos que se van a migrar

En la página Configure Objects, establezca los siguientes parámetros.

Parámetro

Descripción

Migration Types

Seleccione los tipos de migración según su objetivo: <br>• Schema Migration + Full Data Migration: copia única de datos, sin replicación continua. <br>• Schema Migration + Full Data Migration + Incremental Data Migration: replicación continua que mantiene el destino sincronizado mientras el origen sigue activo. <br><br>

Nota

Si omite Schema Migration, cree manualmente las tablas de destino antes de iniciar el proceso. Si omite Incremental Data Migration, evite escribir en la base de datos de origen durante la migración.

Processing Mode of Conflicting Tables

Precheck and Report Errors (predeterminado): la comprobación previa presenta errores si las tablas de destino comparten nombre con las del origen. Utilice la asignación de nombres de objetos para renombrar las tablas si es necesario. <br><br>Ignore Errors and Proceed: omite la comprobación. Durante la migración completa de datos, se conservan los registros conflictivos en el destino; durante la migración incremental, se sobrescriben. Si los esquemas difieren, solo se migran las columnas coincidentes. Ú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 del destino. El valor predeterminado es 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 bases de datos o tablas en la sección Source Objects y luego haga clic en el ícono de flecha para agregarlas a Selected Objects.

Selected Objects

Haga clic con el botón derecho en un objeto para renombrarlo. Haga clic en Batch Edit para renombrar varios objetos a la vez. Haga clic con el botón derecho en una tabla para establecer condiciones de filtro de datos. Consulte Asignar nombres de objetos y Set filter conditions

Para seleccionar las operaciones SQL de una tabla, haga clic con el botón derecho en el objeto correspondiente dentro del cuadro Selected Objects y seleccione las operaciones deseadas en el cuadro de diálogo que aparece. Para consultar la lista de operaciones compatibles, vea SQL operations that can be incrementally migrated.

.

Paso 4: Configurar los ajustes avanzados

Haga clic en Next: Advanced Settings y configure lo siguiente.

Parámetro

Descripción

Dedicated Cluster for Task Scheduling

De manera predeterminada, DTS programa la tarea en el clúster compartido. Adquiera un clúster dedicado para mejorar la estabilidad. Consulte ¿Qué es un clúster dedicado de DTS?.

Time zone of destination database

Zona horaria para los datos de fecha y hora (como DateTime) que se escriben en el clúster de destino de ClickHouse.

Retry Time for Failed Connections

Tiempo durante el cual DTS reintenta una conexión con errores antes de marcar la tarea como fallida. Rango: de 10 a 1,440 minutos. Valor predeterminado: 720 minutos. Establezca un valor mayor a 30 minutos. <br><br>

Nota

Si varias tareas comparten la misma base de datos de origen o de destino, se aplica el valor configurado más recientemente. DTS cobra por la instancia durante los reintentos.

Retry Time for Other Issues

Tiempo durante el cual DTS reintenta operaciones DDL o DML con errores antes de marcar la tarea como fallida. Rango: de 1 a 1,440 minutos. Valor predeterminado: 10 minutos. Establezca un valor mayor a 10 minutos. Debe ser menor que Retry Time for Failed Connections.

Enable Throttling for Full Data Migration

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

Enable Throttling for Incremental Data Migration

Limita la carga durante la migración incremental de datos. Configure RPS of Incremental Data Migration y Data migration speed for incremental migration (MB/s). Solo está disponible cuando se selecciona Incremental Data Migration.

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

Controla si DTS escribe operaciones SQL de la tabla de latidos en el origen mientras la instancia se está ejecutando. Sí: se suprimen las escrituras de latidos, pero podría mostrarse un indicador de latencia. No: se habilitan las escrituras de latidos, lo cual podría afectar la copia de seguridad física y la clonación de la base de datos de origen.

Environment Tag

Etiqueta opcional para identificar el entorno (por ejemplo, producción o pruebas).

Configure ETL

Habilita la función de extracción, transformación y carga (ETL). Sí: 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 la configuración de ETL.

Monitoring and Alerting

Configura alertas para errores en la tarea o cuando la latencia supera un umbral. Sí: establezca el umbral de alerta y los contactos de notificación. Consulte Configurar monitoreo y alertas. No: no se generan alertas.

Paso 5: Configurar los campos de tabla para ClickHouse

Haga clic en Next: Configure Database and Table Fields y configure Type, Primary Key Column, Sort Key, Distribution Key y Partition Key para cada tabla que se va a migrar.

DTS proporciona configuraciones predeterminadas. Para revisarlas o modificarlas, establezca Definition Status en All.

Reglas principales:

  • Primary Key Column y Sort Key admiten claves compuestas; seleccione varios campos en las listas desplegables.

  • Seleccione una o más columnas de Primary Key Column para usarlas como Partition Key.

  • Distribution Key solo admite un único campo.

  • Deje Partition Key en blanco si no es necesaria, pero no seleccione un campo que acepte valores nulos, ya que esto provoca errores en la tarea de migración.

  • Las claves de partición solo admiten BIGINT, INT, TIMESTAMP, DATETIME y DATE. Consulte Partition key calculation logic.

Para obtener más información sobre claves primarias, claves de ordenamiento y claves de partición, consulte CREATE TABLE.

Paso 6: Ejecutar la comprobación previa e iniciar la migración

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

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

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

    • Si un elemento muestra una advertencia (no un error) y usted acepta el riesgo, haga clic en Confirm Alert Details > Ignore > OK y, a continuación, haga clic en Precheck Again.

    Importante

    Ignorar una alerta de la comprobación previa podría generar inconsistencia en los datos.

Paso 7: Adquirir la instancia e iniciar la migración

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

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

    Sección

    Parámetro

    Descripción

    New Instance Class

    Resource Group

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

    Instance Class

    La clase de instancia determina la velocidad de migración. Consulte Clases de instancia de las instancias de migración de datos.

  3. Lea y acepte Data Transmission Service (Pay-as-you-go) Service Terms, luego haga clic en Buy and Start > OK.

Consulte el progreso de la migración en la página Data Migration.

Si la tarea no incluye migración incremental de datos, se detiene automáticamente al finalizar. La columna Status muestra Completed .
Si la tarea incluye migración incremental de datos, se ejecuta de forma continua y nunca se detiene automáticamente. La columna Status muestra Running .

Consultar los datos migrados

Después de la migración, ejecute la siguiente consulta para recuperar datos del clúster de destino de ClickHouse:

SELECT * FROM <table_name> FINAL WHERE _sign > 0;
  • El modificador FINAL elimina duplicados en las filas con las mismas claves de ordenamiento, lo que garantiza que vea la versión más reciente de cada fila.

  • La cláusula WHERE _sign > 0 filtra las filas eliminadas.

Sin FINAL, las consultas podrían devolver registros duplicados o eliminados.

Apéndice

Requisitos de las tablas de destino

Si omite la migración de esquemas y crea las tablas de destino de forma manual, estas deben cumplir con los siguientes requisitos.

Importante

Si una tabla de destino incluye el parámetro ENGINE, establézcalo en ENGINE = ReplicatedReplacingMergeTree(_version, _is_deleted). Cualquier otra configuración de motor podría generar inconsistencia en los datos.

Cluster edition

Table creation requirement

Community-compatible Edition

Cree tanto una tabla local como una distribuida. El nombre de la tabla distribuida debe coincidir con el de la tabla de origen. El nombre de la tabla local debe seguir el formato <distributed_table_name>_local.

Enterprise Edition

Cree una tabla con el mismo nombre que la tabla de origen.

Campos adicionales que agrega DTS

DTS agrega automáticamente los siguientes campos a cada tabla de destino durante la migración de esquemas.

Para consultar los datos sincronizados, utilice:

SELECT * FROM <table_name> FINAL WHERE _sign > 0;

Versión del clúster

Campo

Tipo de dato

Valor predeterminado

Descripción

Community-compatible Edition con ClickHouse V23.8 o anterior

_sign

Int8

1

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

_version

UInt64

1

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

Enterprise Edition o Community-compatible Edition con ClickHouse V23.8 o posterior

_sign

Int8

1

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

_is_deleted

UInt8

0

Indica si el registro está eliminado: Insert o Update = 0; Delete = 1.

_version

UInt64

1

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

Rangos de los tipos de datos de tiempo

Si los datos de tiempo del clúster de origen de PolarDB for MySQL se encuentran fuera de los rangos que se muestran a continuación, los valores escritos en ApsaraDB for ClickHouse serán incorrectos.

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

Lógica de cálculo de la clave de partición

DTS aplica la siguiente lógica para obtener los valores de la clave de partición a partir de los campos de origen.

Source field type

Calculation logic

BIGINT

intDiv(<partition_key_field>, 18014398509481984)

INT

intDiv(<partition_key_field>, 4194304)

TIMESTAMP

toYYYYMM(<partition_key_field>)

DATETIME

toYYYYMM(<partition_key_field>)

DATE

toYYYYMM(<partition_key_field>)