Todos los productos
Search
Centro de documentos

Data Transmission Service:Migrate data from PolarDB for MySQL to ApsaraDB for SelectDB

Última actualización: Sep 20, 2026

Utilice Data Transmission Service (DTS) para migrar datos de un clúster de PolarDB for MySQL a una instancia de ApsaraDB for SelectDB y procesar cargas de trabajo analíticas a gran escala. DTS admite la migración de esquemas, la migración completa de datos y la migración incremental de datos, por lo que es posible migrar con un tiempo de inactividad mínimo.

Requisitos previos

Antes de empezar, compruebe que cuenta con lo siguiente:

Facturación

Tipo de migración

Tarifas de configuración del enlace

Tarifas de transferencia de datos

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

Gratuita

Gratuita (salvo que el método de acceso de destino sea Public IP Address; consulte Billing overview)

Migración incremental de datos

De pago; consulte Billing overview

—

Permisos obligatorios

Base de datos Migración de esquemas Migración completa Migración incremental
Origen: PolarDB for MySQL SELECT SELECT Lista de control de acceso
Destino: SelectDB USAGE_PRIV, SELECT_PRIV, LOAD_PRIV, ALTER_PRIV, CREATE_PRIV, DROP_PRIV

Para crear cuentas y otorgar permisos, siga estas indicaciones:

Límites

Base de datos de origen

Límite

Detalles

Ancho de banda

El servidor de la base de datos de origen debe tener como mínimo 100 Mb/s de ancho de banda de salida. Un ancho de banda inferior reduce la velocidad de migración.

Objetos no compatibles

No se pueden migrar nodos de solo lectura, tablas externas de OSS, índices, particiones, vistas, procedimientos, funciones, desencadenadores ni claves externas.

Límite de tablas para la asignación de columnas

Si asigna nombres de columnas o edita los objetos de migración, una sola tarea admite hasta 1,000 tablas. Para migrar más, divida las tablas en varias tareas o migre toda la base de datos sin ediciones a nivel de columna.

Registro binario (solo migración incremental)

Habilite el registro binario y establezca el parámetro loose_polar_log_bin en on. Sin esta configuración, la comprobación previa falla y la migración no puede iniciar. Consulte Enable binary logging y Modificar parámetros. Habilitar el registro binario consume almacenamiento y genera cargos.

Retención de registros binarios (solo migración incremental)

Conserve los registros binarios durante como mínimo 3 días (se recomiendan 7 días). Si DTS no puede recuperar los registros binarios, la migración podría fallar o provocar inconsistencia o pérdida de datos. Este escenario no está cubierto por el acuerdo de nivel de servicio (SLA) de DTS. Consulte Modificar el periodo de retención.

Base de datos de destino (SelectDB)

Límite

Detalles

Motores compatibles

Solo se admiten tablas que usan el motor Unique o Duplicate.

Motor Unique

Todas las claves únicas de la tabla de destino deben existir en la tabla de origen e incluirse en los objetos de migración. De lo contrario, podría producirse inconsistencia de datos.

Motor Duplicate

Pueden aparecer filas duplicadas cuando ocurre un reintento, se reinicia la instancia o se ejecutan dos o más operaciones DML sobre la misma fila después de iniciar la instancia. Utilice las columnas adicionales _is_deleted, _version y _record_id para identificar y eliminar duplicados. DTS convierte las instrucciones UPDATE y DELETE en instrucciones INSERT para las tablas con motor Duplicate.

Parámetro bucket_count

En el cuadro Selected Objects, solo se puede configurar el parámetro bucket_count (número de buckets). El valor debe ser un entero positivo; el valor predeterminado es auto.

Reglas de nomenclatura

Los nombres de bases de datos y tablas deben comenzar con una letra. Los nombres de objeto que contengan caracteres chinos (bases de datos, tablas o columnas) deben renombrarse mediante la función de asignación de nombres de objeto antes de la migración.

Conversión de longitud VARCHAR

En PolarDB for MySQL, VARCHAR(M) representa la longitud en caracteres. En SelectDB, VARCHAR(N) representa la longitud en bytes. Si no utiliza la migración de esquemas, establezca las longitudes de los campos VARCHAR de SelectDB en cuatro veces los valores de PolarDB for MySQL.

Fusión de varias tablas

Al migrar varias tablas de origen hacia una sola tabla de destino, los esquemas de las tablas de origen deben ser idénticos. Las diferencias de esquema provocan inconsistencia de datos o el fallo de la tarea.

Límites operativos durante la migración

Evite las siguientes acciones mientras la migración esté en ejecución:

Acción prohibida

Riesgo

Operaciones DDL que modifican esquemas (durante la migración de esquemas o la migración completa)

La tarea de migración falla.

Operaciones DDL que modifican varias columnas a la vez o la misma tabla de forma consecutiva

No son compatibles; la tarea falla.

Operaciones DDL en línea con pt-online-schema-change en el origen

No se pueden migrar; podrían causar pérdida de datos o el fallo de la tarea.

Creación de clústeres en la instancia de SelectDB de destino

La tarea falla. Reinicie la instancia de migración para reanudarla.

Adición de nodos de backend (BE) a SelectDB

La tarea falla. Reinicie la instancia de migración para reanudarla.

Escritura de datos en el destino desde orígenes distintos de DTS

Podría causar inconsistencia de datos.

Escritura de datos nuevos en el origen (solo migración completa, sin migración incremental)

Provoca inconsistencia de datos entre el origen y el destino.

Conmutación por error entre nodo principal y secundario durante la migración completa

DTS no admite la conmutación por error durante la migración completa. Vuelva a configurar la tarea si ocurre una conmutación.

Otras consideraciones

  • DDL en línea con DMS o gh-ost: DTS migra únicamente las instrucciones DDL originales, no los datos de las tablas temporales. Esto podría bloquear las tablas de destino.

  • Operaciones fuera del registro binario: Los cambios de datos que no se registran en los registros binarios (como la recuperación de copias de seguridad físicas y las operaciones en cascada) no se migran. Ejecute de nuevo una migración completa de datos si esto ocurre.

  • RENAME TABLE: La instrucción RENAME TABLE durante la migración incremental podría causar inconsistencia de datos. Si renombra una tabla que es objeto de migración, sus datos podrían no migrarse. Para evitarlo, seleccione la base de datos (no tablas individuales) como objeto de migración y compruebe que la base de datos aparezca en los objetos de migración tanto antes como después del cambio de nombre.

  • Latencia de sincronización incremental: De forma predeterminada, DTS escribe en cada objeto de sincronización como máximo una vez cada 5 segundos. La latencia normal suele mantenerse por debajo de 10 segundos. Para reducirla, ajuste el parámetro selectdb.reservoir.timeout.milliseconds en la consola de DTS (rango válido: 1,000–10,000 ms). Los intervalos más cortos aumentan la frecuencia de escritura y podrían elevar la carga del destino y el tiempo de respuesta (RT) de escritura.

  • Impacto en el rendimiento: La migración completa lee todos los datos de origen y escribe en el destino de forma concurrente, lo que aumenta la carga en ambas bases de datos. Ejecute las migraciones en horarios de baja demanda y habilite la limitación de velocidad cuando sea necesario.

  • Tamaño del tablespace tras la migración completa: Las operaciones INSERT concurrentes durante la migración completa generan fragmentación. Por ello, el tablespace de destino podría ser mayor que el de origen al finalizar la migración.

  • Recuperación de instancias: Si la instancia de migración falla, el equipo de soporte de DTS intenta recuperarla en un plazo de 8 horas. La recuperación podría implicar reiniciar la instancia o ajustar parámetros de la instancia de DTS (no parámetros de la base de datos). Consulte Modificar parámetros de instancia para conocer los parámetros que se pueden modificar.

Operaciones SQL compatibles con la migración incremental

Tipo de operación

Instrucciones SQL

DML

INSERT, UPDATE, DELETE

DDL

ADD COLUMN, MODIFY COLUMN, CHANGE COLUMN, DROP COLUMN, DROP TABLE, TRUNCATE TABLE, RENAME TABLE

Importante

La instrucción RENAME TABLE podría causar inconsistencia de datos. Si selecciona una tabla como objeto de migración y la renombra durante el proceso, sus datos podrían no migrarse al destino. Para evitarlo, seleccione la base de datos (no tablas individuales) como objeto de migración y compruebe que la base de datos aparezca en los objetos de migración tanto antes como después del cambio de nombre.

Creación de una tarea de migración

Paso 1: Abrir la página Data Migration

Utilice una de las siguientes consolas:

Consola de DTS

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

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

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

Consola de DMS

Nota

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.DMS console

  2. En la barra de navegación superior, vaya a Data + AI > DTS (DTS) > Data Migration.

  3. En la lista desplegable situada a la derecha de Data Migration Tasks, seleccione la región donde reside la instancia de migración.

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

  1. Haga clic en Create Task.

  2. En la página de configuración de la tarea, configure los siguientes parámetros.

General

Parámetro

Descripción

Task Name

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

Source Database

Parámetro

Descripción

Select Existing Connection

Si la instancia de origen ya está registrada en DTS, selecciónela en la lista desplegable; DTS completará automáticamente los parámetros restantes. En la consola de DMS, utilice la lista desplegable Select a DMS database instance. Si la instancia no está registrada, configure manualmente los parámetros siguientes.

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 migraciones dentro de la misma cuenta. Para migrar entre cuentas distintas, primero configure RAM authorization.

PolarDB Cluster ID

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

Database Account

Cuenta de base de datos del clúster de origen. Consulte Permissions required.

Database Password

Contraseña de la cuenta de base de datos.

Encryption

Seleccione una opción según la configuración de su clúster de PolarDB for MySQL. Para obtener detalles sobre el cifrado Secure Sockets Layer (SSL), consulte Configure SSL encryption.

Destination Database

Parámetro

Descripción

Select Existing Connection

Si la instancia de destino ya está registrada en DTS, selecciónela en la lista desplegable. En la consola de DMS, utilice la lista desplegable Select a DMS database instance. Si no está registrada, configure manualmente los parámetros siguientes.

Database Type

Seleccione SelectDB.

Access Method

Seleccione Alibaba Cloud Instance.

Instance Region

Región donde reside la instancia de destino de SelectDB.

Replicate Data Across Alibaba Cloud Accounts

Seleccione No para migraciones dentro de la misma cuenta.

Instance ID

Identificador de la instancia de destino de SelectDB.

Database Account

Cuenta de base de datos de la instancia de destino de SelectDB. Consulte Permissions required.

Database Password

Contraseña de la cuenta de base de datos.

  1. Haga clic en Test Connectivity and Proceed.

Los bloques CIDR de los servidores de DTS deben agregarse a la configuración de seguridad de ambas bases de datos para que la prueba de conectividad sea exitosa. Consulte Agregar direcciones IP de servidores de DTS a una lista blanca .

Paso 3: Seleccionar los objetos de migración

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

Configuración

Descripción

Migration Types

Seleccione los tipos de migración según sus necesidades: Solo migración completa: seleccione Schema Migration y Full Data Migration. Migración con tiempo de inactividad mínimo: seleccione Schema Migration, Full Data Migration y Incremental Data Migration.

Processing Mode of Conflicting Tables

Precheck and Report Errors (predeterminado): DTS comprueba si existen tablas con el mismo nombre en el destino. Si hay duplicados, la comprobación previa falla y la tarea no inicia. Para resolverlo sin eliminar la tabla de destino, utilice object name mapping. Ignore Errors and Proceed: DTS omite la comprobación de tablas duplicadas. Úselo con precaución: si los esquemas coinciden, los registros de origen sobrescriben los registros de destino con la misma clave principal; si difieren, algunas columnas podrían no migrarse o la tarea podría fallar.

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 objeto de la instancia de destino.

Source Objects

Seleccione las bases de datos o tablas que desea migrar. Haga clic en el icono de flecha para agregarlas a Selected Objects.

Selected Objects

Haga clic con el botón derecho en un objeto de migración para renombrarlo, establecer el parámetro bucket_count (cuando se selecciona Schema Migration), elegir operaciones SQL incrementales específicas o definir condiciones de filtro SQL para filtrar a nivel de fila. Consulte Asignar nombres de objeto y Establecer condiciones de filtro.

Importante
  • Si no selecciona Schema Migration, cree las tablas con el modelo de clave Unique o Duplicate en la instancia de destino de SelectDB antes de iniciar la migración. Consulte Data type mappings, Additional columns y Data model.

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

  • El uso de la asignación de nombres de objeto podría provocar que los objetos dependientes fallen durante la migración.

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

Configuración

Descripción

Dedicated Cluster for Task Scheduling

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

Retry Time for Failed Connections

Tiempo durante el cual DTS reintenta las conexiones fallidas. Rango válido: 10–1,440 minutos. Valor predeterminado: 720 minutos. Establézcalo en como mínimo 30 minutos. Si DTS se reconecta dentro de este periodo, la migración se reanuda; de lo contrario, la tarea falla. Tenga en cuenta que las tareas distintas que comparten el mismo origen o destino utilizan el valor configurado más recientemente, y que DTS cobra por la instancia durante los reintentos.

Retry Time for Other Issues

Tiempo durante el cual DTS reintenta las operaciones DDL o DML fallidas. Rango válido: 1–1,440 minutos. Valor predeterminado: 10 minutos. Establézcalo en como mínimo 10 minutos. Debe ser menor que Retry Time for Failed Connections.

Enable Throttling for Full Data Migration

Limita la carga de lectura y escritura durante la migració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). Disponible solo cuando se selecciona Full Data Migration.

Enable Throttling for Incremental Data Migration

Limita la carga durante la migración incremental. Configure RPS of Incremental Data Migration y Data migration speed for incremental migration (MB/s). Disponible solo cuando se selecciona Incremental Data Migration.

Environment Tag

(Opcional) Etiqueta para identificar la instancia.

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

Yesconfiguración de notificaciones de alerta: no escribe las operaciones de latido en el origen (podría aparecer un indicador de latencia en la instancia de DTS). No: escribe las operaciones de latido (podría afectar la copia de seguridad física y la clonación del origen).

Configure ETL

Yes: configura el procesamiento de extracción, transformación y carga (ETL) mediante 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 y ¿Qué es ETL?. No: omite ETL.

Monitoring and Alerting

Yes: configura alertas para fallos de tarea o latencias que superen un umbral. Establezca el umbral de alerta y los contactos de notificación. Consulte Configurar monitoreo y alertas al crear una tarea de DTS. No: no se configuran alertas.

  1. (Opcional) Haga clic en Next: Configure Database and Table Fields para establecer Primary Key Column, Distribution Key y Engine de las tablas de destino.

Este paso solo está disponible cuando se selecciona Schema Migration . Establezca Definition Status en All para ver todas las tablas.
Seleccione una o más columnas como Primary Key Column . Como mínimo, una columna de clave principal también debe seleccionarse como Distribution Key .
Para las tablas sin claves principales ni restricciones UNIQUE, establezca Engine en duplicate . De lo contrario, la migración podría fallar o perderse datos.

Paso 4: Ejecutar una comprobación previa

Haga clic en Next: Save Task Settings and Precheck.

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

DTS ejecuta una comprobación previa antes de iniciar la migración. La tarea solo puede comenzar después de superar esta comprobación.

  • Si un elemento de comprobación falla, haga clic en View Details junto al elemento con errores, corrija el problema y luego haga clic en Precheck Again.

  • Si se activa una alerta:

    • Si no se puede ignorar, haga clic en View Details, corrija el problema y vuelva a ejecutar la comprobación previa.

    • Si se puede ignorar, haga clic en Confirm Alert Details, luego en Ignore en el cuadro de diálogo, después en OK y finalmente en Precheck Again.

Aviso

Ignorar las alertas de la comprobación previa podría generar inconsistencia de datos u otros riesgos.

Paso 5: Adquirir e iniciar la instancia de migración

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

  2. En la página Purchase Instance, configure lo siguiente.

Sección Parámetro Descripción
New Instance Class Resource Group El resource group de la instancia de migración. Valor predeterminado: default resource group. Consulte What is Resource Management?
Instance Class Determina la velocidad de migración. Selecciónelo según el volumen de datos y la ventana de migración. Consulte Clases de instancia de las instancias de migración de datos.
  1. Lea y acepte 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.

Siga el progreso de la migración en la página Data Migration:

  • Solo migración completa: la tarea se detiene automáticamente al finalizar. El estado muestra Completed.

  • Incremental migration: la tarea se ejecuta de forma continua y no se detiene automáticamente. El estado muestra Running.

Asignaciones de tipos de datos

A continuación se muestra cómo se asignan los tipos de datos de PolarDB for MySQL a los tipos de datos de SelectDB.

Categoría PolarDB for MySQL SelectDB
Numéricos TINYINT TINYINT
TINYINT UNSIGNED SMALLINT
SMALLINT SMALLINT
SMALLINT UNSIGNED INT
MEDIUMINT INT
MEDIUMINT UNSIGNED BIGINT
INT INT
INT UNSIGNED BIGINT
BIGINT BIGINT
BIGINT UNSIGNED LARGEINT
BIT(M) INT
Decimal Decimal (Zerofill no compatible)
Numeric Decimal
Float Float
Double DOUBLE
BOOL / BOOLEAN BOOLEAN
Fecha y hora DATE DATEV2
DATETIME[(fsp)] DATETIMEV2
Timestamp[(fsp)] DATETIMEV2
Time[(fsp)] VARCHAR
YEAR[(4)] INT
Cadena CHAR / VARCHAR VARCHAR
BINARY / VARBINARY STRING
TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT STRING
TINYBLOB / BLOB / MEDIUMBLOB / LONGBLOB STRING
ENUM STRING
SET STRING
JSON STRING
Importante

Para evitar la pérdida de datos, CHAR y VARCHAR(n) se convierten a VARCHAR(4*n) durante la migración a SelectDB.

  • Si no se especifica ninguna longitud, el valor predeterminado es VARCHAR(65533).

  • Los datos con más de 65,533 caracteres se convierten a STRING.

Columnas adicionales

Para las tablas que usan el motor Duplicate, DTS agrega automáticamente las siguientes columnas a las tablas de destino. Si crea las tablas de destino manualmente, agregue estas columnas usted mismo.

Nombre de columna

Tipo de dato

Valor predeterminado

Descripción

_is_deleted

Int

0

Indica si la fila está eliminada. 0 para INSERT y UPDATE; 1 para DELETE.

_version

Bigint

0

0 para la migración completa. Para la migración incremental, corresponde a la marca de tiempo en segundos del registro binario de origen.

_record_id

Bigint

0

0 para la migración completa. Para la migración incremental, corresponde al identificador de registro único autoincremental de la entrada del registro incremental.

Pasos siguientes

Una vez finalizada la migración, compruebe la consistencia de los datos entre las bases de datos de origen y de destino. En el caso de la migración incremental, detenga las escrituras en el origen, permita que DTS sincronice los cambios restantes y luego dirija el tráfico de su aplicación hacia SelectDB.