Todos los productos
Search
Centro de documentos

Data Transmission Service:Migrar datos de PolarDB-X 2.0 a ApsaraDB for SelectDB

Última actualización: Sep 04, 2026

Utilice Data Transmission Service (DTS) para migrar datos de una instancia de PolarDB-X 2.0 a una instancia de ApsaraDB for SelectDB.

Importante

Esta función se encuentra en fase de pruebas limitadas y solo está disponible para algunos usuarios.

Requisitos previos

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

  • Una instancia de PolarDB-X 2.0 (origen) con un ancho de banda de salida de al menos 100 Mbit/s

  • Una ApsaraDB for SelectDB instance (destino)

  • El parámetro binlog_row_image establecido en full en la instancia de origen (obligatorio para la migración incremental de datos). Para más detalles, consulte Parameter settings

  • Cuentas de base de datos con los permisos necesarios en ambas instancias (consulte Permisos necesarios)

  • Bloques CIDR del servidor DTS agregados a la configuración de seguridad de ambas instancias. Para más detalles, consulte Add the CIDR blocks of DTS servers

Objetos no compatibles

Los siguientes tipos de objetos no se pueden migrar:

  • Tablas con letras mayúsculas en sus nombres

  • INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER y claves externas (FK)

  • Objetos TABLEGROUP

  • Bases de datos o tablas que contienen el atributo Locality

  • Instancias de solo lectura de la Enterprise Edition de PolarDB-X 2.0

Las tablas a migrar deben tener restricciones PRIMARY KEY o UNIQUE, y todos sus campos deben ser únicos. Sin estas restricciones, la base de datos de destino podría contener registros duplicados.

Si selecciona tablas como objetos de migración y necesita cambiarles el nombre a ellas o a sus columnas en el destino, una sola tarea admite hasta 1,000 tablas. Para más de 1,000 tablas, configure varias tareas o migre toda la base de datos a la vez.

Restricciones durante la migración

No realice las siguientes operaciones mientras se ejecuta la tarea de migración:

  • En la instancia de origen: No ejecute sentencias DDL que modifiquen esquemas de bases de datos o tablas durante la migración del esquema o la migración completa de datos. Esto provoca errores en la tarea.

  • En la instancia de destino:

    • No cree clústeres en la instancia de ApsaraDB for SelectDB. Si esto causa un error en la tarea, reinicie la instancia de migración para reanudarla.

    • No agregue nodos de backend a la base de datos de ApsaraDB for SelectDB. Si esto causa un error en la tarea, reinicie la instancia de migración para reanudarla.

    • No permita que otros orígenes de datos escriban en el destino mientras DTS está en ejecución. Esto puede causar inconsistencia en los datos o errores en la tarea.

  • Restricciones de DDL: No ejecute sentencias DDL que modifiquen varias columnas a la vez o que modifiquen la misma tabla de forma sucesiva.

Requisitos específicos de SelectDB

  • Nombres de bases de datos y tablas: Deben comenzar con una letra. Utilice la función de asignación de nombres de objetos para renombrar cualquier objeto que no cumpla este requisito.

  • Nombres con caracteres chinos: Los objetos con nombres en caracteres chinos deben renombrarse mediante la asignación de nombres de objetos (por ejemplo, de chino a inglés). De lo contrario, la tarea podría fallar.

  • Longitud VARCHAR: En PolarDB-X 2.0, VARCHAR(M) especifica la longitud en caracteres. En SelectDB, VARCHAR(N) especifica la longitud en bytes. Si omite la migración del esquema, establezca las longitudes de los campos VARCHAR de SelectDB en cuatro veces la longitud de los campos correspondientes en PolarDB-X 2.0.

  • Motor de la tabla de destino: Los datos solo se pueden migrar a tablas con motor Unique o tablas con motor Duplicate. Consulte Tablas con motor Unique y Tablas con motor Duplicate a continuación.

Tablas con motor Unique

Todas las claves únicas en la tabla de destino con motor Unique deben existir en la tabla de origen e incluirse en los objetos a migrar. De lo contrario, puede producirse inconsistencia en los datos.

Tablas con motor Duplicate

Cuando la tabla de destino es una tabla con motor Duplicate, DTS convierte las sentencias UPDATE y DELETE en sentencias INSERT. Pueden aparecer registros duplicados en los siguientes escenarios:

  • Se reintenta o reinicia la instancia de migración.

  • Los mismos datos se modifican mediante operaciones DML dos o más veces después de que se inicia la instancia de migración.

Para eliminar duplicados en los registros, utilice las columnas adicionales que DTS crea automáticamente: _is_deleted, _version y _record_id. Consulte Columnas adicionales.

Otras notas

  • Rendimiento de la migración completa de datos: La migración completa utiliza recursos de lectura y escritura en ambas instancias, lo que aumenta la carga de la base de datos. Ejecute la migración fuera de las horas pico, cuando la carga de CPU en ambas instancias sea inferior al 30%.

  • Fragmentación del almacenamiento: Dado que la migración completa de datos utiliza operaciones INSERT concurrentes, las tablas de destino se fragmentan. Después de la migración completa, las tablas de destino ocupan más espacio de almacenamiento que las tablas de origen.

  • Escrituras de latido: DTS ejecuta periódicamente CREATE DATABASE IF NOT EXISTS \ en la instancia de origen para escribir datos de latido y avanzar la posición del registro binario. Si establece Whether to delete SQL operations on heartbeat tables of forward and reverse tasks en Yes, o si la cuenta de origen carece de permisos para crear bases de datos, y no se realizan operaciones DML en el origen durante un período prolongado, la información de latencia podría ser inexacta. Para actualizar los datos de latencia, realice una operación DML en la instancia de origen.

  • Recuperación de tareas: Si una tarea de DTS falla, el soporte de DTS intenta restaurarla dentro de las 8 horas siguientes. Durante la restauración, la tarea puede reiniciarse y ciertos parámetros de la tarea pueden ajustarse. Los parámetros de la base de datos no se modifican.

Facturación

Tipo de migración

Tarifa de configuración de la tarea

Tarifa de transferencia de datos

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

Gratis

Gratis cuando Access Method es Alibaba Cloud Instance. Se aplican cargos cuando Access Method es Public IP Address. Consulte Billing overview.

Migración incremental de datos

Con cargo. Consulte Billing overview.

—

Operaciones SQL admitidas en la migración incremental

Tipo de operación

Sentencias SQL

DML

INSERT, UPDATE, DELETE

DDL

ADD COLUMN; DROP COLUMN; DROP TABLE; TRUNCATE TABLE; RENAME TABLE

Importante

Las operaciones RENAME TABLE pueden causar inconsistencia en los datos. Por ejemplo, si selecciona una tabla como objeto de migración y le cambia el nombre durante la migración, los datos de esa tabla no se migrarán. Para evitarlo, seleccione la base de datos que contiene la tabla como objeto de migración y asegúrese de que tanto el nombre anterior como el posterior al cambio estén incluidos en los objetos a migrar.

Permisos necesarios

Base de datosMigración de esquemaMigración completaMigración incremental
PolarDB-X 2.0 de origenSELECTSELECTREPLICATION SLAVE, REPLICATION CLIENT y SELECT sobre los objetos a migrar
ApsaraDB for SelectDB de destinoUsage_priv (acceso al clúster), Select_priv, Load_priv, Alter_priv, Create_priv, Drop_priv

Para obtener instrucciones sobre cómo crear cuentas y otorgar permisos:

Crear una tarea de migración

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

Utilice uno de los siguientes métodos:

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 reside la instancia de migración.

Consola de DMS

Los pasos reales pueden variar según el modo y el diseño de la consola de DMS. Consulte Simple mode y Customize the layout and style of the DMS console .
  1. Inicie sesión en la consola de DMS.

  2. En la barra de navegación superior, pase el puntero sobre Data + AI > DTS (DTS) > Data Migration.

  3. En la lista desplegable 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 destino

  1. Haga clic en Create Task.

  2. Configure los parámetros descritos en la siguiente tabla.

    CategoríaParámetroDescripción
    N/ATask NameNombre para la tarea de DTS. DTS genera un nombre predeterminado. Especifique un nombre descriptivo que facilite la identificación de la tarea. El nombre no necesita ser único.
    Source DatabaseSelect Existing ConnectionSi la instancia de origen está registrada en DTS, selecciónela de la lista desplegable. DTS completará automáticamente los parámetros restantes. De lo contrario, configure los parámetros manualmente. En la consola de DMS, seleccione la instancia en Select a DMS database instance.
    Database TypeSeleccione PolarDB-X 2.0.
    Access MethodSeleccione Alibaba Cloud Instance.
    Instance RegionSeleccione la región donde reside la instancia de PolarDB-X 2.0 de origen.
    Replicate Data Across Alibaba Cloud AccountsSeleccione No si las instancias de origen y destino pertenecen a la misma cuenta de Alibaba Cloud.
    Instance IDSeleccione el ID de la instancia de PolarDB-X 2.0 de origen.
    Database AccountIntroduzca la cuenta de la base de datos. Consulte Permisos necesarios para ver los permisos mínimos requeridos.
    Database PasswordIntroduzca la contraseña de la cuenta de la base de datos.
    Destination DatabaseSelect Existing ConnectionSi la instancia de destino está registrada en DTS, selecciónela de la lista desplegable. DTS completará automáticamente los parámetros restantes. De lo contrario, configure los parámetros manualmente. En la consola de DMS, seleccione la instancia en Select a DMS database instance.
    Database TypeSeleccione SelectDB.
    Access MethodSeleccione Alibaba Cloud Instance.
    Instance RegionSeleccione la región donde reside la instancia de SelectDB de destino.
    Replicate Data Across Alibaba Cloud AccountsSeleccione No si las instancias de origen y destino pertenecen a la misma cuenta de Alibaba Cloud.
    Instance IDSeleccione el ID de la instancia de SelectDB de destino.
    Database AccountIntroduzca la cuenta de la base de datos. Consulte Permisos necesarios para ver los permisos mínimos requeridos.
    Database PasswordIntroduzca la contraseña de la cuenta de la base de datos.
  3. Haga clic en Test Connectivity and Proceed.

Paso 3: Configurar los objetos de migración

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

    ParámetroDescripción
    Migration TypesSeleccione los tipos de migración según sus necesidades: <br>- Schema Migration + Full Data Migration: Migra únicamente los datos existentes. No escriba nuevos datos en el origen durante la migración. <br>- Schema Migration + Full Data Migration + Incremental Data Migration: Migra los datos existentes y mantiene el destino sincronizado con los cambios continuos. Utilice esta combinación para minimizar la interrupción del servicio. <br><br>Si omite Schema Migration, cree tablas con motor Unique o Duplicate con la estructura correcta en SelectDB antes de iniciar la tarea. Para más detalles, consulte Data type mapping, Columnas adicionales y Data model.
    Processing Mode of Conflicting Tables- Precheck and Report Errors: La comprobación previa falla si el destino contiene tablas con los mismos nombres que el origen. Para resolver conflictos, utilice la asignación de nombres de objetos para renombrar las tablas migradas. Consulte Map object names. <br>- Ignore Errors and Proceed: Omite la comprobación previa de nombres de tabla idénticos.
    Aviso

    Esto puede causar inconsistencia en los datos. Durante la migración completa, DTS omite los registros en conflicto y conserva los datos existentes en el destino. Durante la migración incremental, DTS sobrescribe los registros en conflicto. Si el origen y el destino tienen esquemas diferentes, solo se migran columnas parciales o la tarea puede fallar.

    Capitalization of Object Names in Destination InstanceLa política de uso de mayúsculas para nombres de bases de datos, tablas y columnas en el destino. El valor predeterminado es DTS default policy. Consulte Specify the capitalization of object names in the destination instance.
    Source ObjectsSeleccione las bases de datos o tablas a migrar y luego haga clic en 向右小箭头 para moverlas a Selected Objects.
    Selected Objects- Para renombrar una tabla en el destino, haga clic derecho sobre ella y seleccione una opción de asignación de nombres de objetos. Consulte Map object names. <br>- Para filtrar filas, haga clic derecho en una tabla y especifique condiciones WHERE. Consulte Specify filter conditions. <br>- Para seleccionar operaciones SQL específicas para una base de datos o tabla, haga clic derecho en el objeto y elija las operaciones a incluir. <br>- Si se selecciona Schema Migration, solo puede seleccionar tablas (no bases de datos) como objetos de migración, y debe configurar el parámetro bucket_count: haga clic derecho en una tabla, habilite Enable Parameter Settings, establezca Value en un entero positivo (predeterminado: auto) y haga clic en OK. <br><br>
    Nota

    Renombrar un objeto con la asignación de nombres de objetos puede provocar que los objetos dependientes fallen en la migración.

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

    ParámetroDescripción
    Dedicated Cluster for Task SchedulingDe forma predeterminada, DTS programa la tarea en un clúster compartido. Para mejorar la estabilidad de la tarea, adquiera un clúster dedicado. Consulte What is a DTS dedicated cluster.
    Retry Time for Failed ConnectionsTiempo durante el cual DTS reintenta conexiones fallidas después de iniciar la tarea. Rango válido: 10–1,440 minutos. Predeterminado: 720 minutos. Establezca un valor superior a 30 minutos. Si DTS se reconecta dentro de este período, la tarea se reanuda. De lo contrario, la tarea falla.
    Nota

    Cuando varias tareas comparten el mismo origen o destino, prevalece el tiempo de reintento configurado más recientemente. DTS cobra por la instancia durante el reintento.

    Retry Time for Other IssuesTiempo durante el cual DTS reintenta operaciones DDL o DML fallidas. Rango válido: 1–1,440 minutos. Predeterminado: 10 minutos. Establezca un valor superior a 10 minutos. Debe ser menor que Retry Time for Failed Connections.
    Enable Throttling for Full Data MigrationLimita el rendimiento de lectura y escritura durante la migración completa para reducir la carga en ambas instancias. 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 MigrationLimita el rendimiento 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.
    Whether to delete SQL operations on heartbeat tables of forward and reverse tasksControla si DTS escribe operaciones SQL de latido en la instancia de origen. <br>- Yes: DTS no escribe operaciones de latido. La información de latencia puede ser inexacta. <br>- No: DTS escribe operaciones de latido. La copia de seguridad física y la clonación del origen pueden verse afectadas.
    Environment TagUna etiqueta opcional para identificar la instancia.
    Configure ETLIndica si se habilita la función de extracción, transformación y carga (ETL). Consulte What is ETL? y Configure ETL in a data migration or data synchronization task.
    Monitoring and AlertingIndica si se reciben alertas cuando la tarea falla o la latencia de migración supera un umbral. Si selecciona Yes, configure el umbral de alerta y la configuración de notificaciones. Consulte Configure monitoring and alerting when you create a DTS task.
  3. (Opcional) Haga clic en Next: Configure Database and Table Fields. Para cada tabla a migrar, especifique Primary Key Column, Distribution Key y Engine.

    - Este paso está disponible solo cuando se selecciona Schema Migration . Establezca Definition Status en All para ver todas las tablas. - Primary Key Column admite múltiples columnas. También se pueden seleccionar una o más columnas de clave primaria como Distribution Key . - Si una tabla no tiene clave primaria ni restricción UNIQUE, seleccione duplicate para Engine . De lo contrario, la tarea puede fallar o producirse pérdida de datos.

Paso 4: Ejecutar la comprobación previa

Haga clic en Next: Save Task Settings and Precheck.

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

La tarea debe pasar la comprobación previa antes de poder iniciarse.
Si un elemento de la comprobación previa falla, haga clic en View Details junto al elemento fallido, resuelva el problema y haga clic en Precheck Again .
Si se activa una alerta: si no se puede ignorar, resuélvala y vuelva a comprobar. Si se puede ignorar de forma segura, haga clic en Confirm Alert Details , haga clic en Ignore en el cuadro de diálogo, confirme y haga clic en Precheck Again . Ignorar alertas puede causar inconsistencia en los datos.

Paso 5: Adquirir e iniciar la instancia

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

  2. En la página Purchase Instance, configure la instancia.

    SecciónParámetroDescripción
    New Instance ClassResource GroupEl resource group para la instancia de migración. El valor predeterminado es default resource group. Consulte What is Resource Management?
    Instance ClassLa clase de instancia determina la velocidad de migración. Seleccione una clase según sus necesidades. Consulte Instance classes of data migration instances.
  3. Seleccione la casilla de verificación Data Transmission Service (Pay-as-you-go) Service Terms.

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

La tarea aparece en la página Data Migration. Realice el seguimiento de su progreso desde allí.

Si la tarea no incluye migración incremental de datos, se detiene automáticamente al finalizar. El Status muestra Completed .
Si la tarea incluye migración incremental de datos, se ejecuta continuamente. El Status muestra Running . La tarea de migración incremental de datos nunca se detiene ni se completa automáticamente.

Asignación de tipos de datos

CategoríaTipo de PolarDB-X 2.0Tipo de SelectDB
NuméricoTINYINTTINYINT
TINYINT UNSIGNEDSMALLINT
SMALLINTSMALLINT
SMALLINT UNSIGNEDINT
MEDIUMINTINT
MEDIUMINT UNSIGNEDBIGINT
INTINT
INT UNSIGNEDBIGINT
BIGINTBIGINT
BIGINT UNSIGNEDLARGEINT
BIT(M)INT
DecimalDecimal (
Nota

zerofill no es compatible)

NumericDecimal
FloatFloat
DoubleDOUBLE
BOOL / BOOLEANBOOLEAN
Fecha y horaDATEDATEV2
DATETIME[(fsp)]DATETIMEV2
Timestamp[(fsp)]DATETIMEV2
Time[(fsp)]VARCHAR
YEAR[(4)]INT
CadenaCHAR / VARCHARVARCHAR
BINARY / VARBINARYSTRING
TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXTSTRING
TINYBLOB / BLOB / MEDIUMBOLB / LONGBLOBSTRING
ENUMSTRING
SETSTRING
JSONSTRING
Importante

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

  • Si no se especifica ninguna longitud, se utiliza el valor predeterminado de SelectDB: VARCHAR(65533).

  • Si la longitud excede 65533, los datos se convierten a STRING.

Columnas adicionales

DTS crea automáticamente las siguientes columnas en tablas con motor Duplicate (o puede agregarlas manualmente):

Columna

Tipo

Valor predeterminado

Descripción

_is_deleted

Int

0

Indica si el registro está eliminado. Se establece en 0 para operaciones INSERT y UPDATE, y en 1 para operaciones DELETE.

_version

Bigint

0

Se establece en 0 durante la migración completa de datos. Durante la migración incremental, contiene la marca de tiempo (en segundos) del archivo de registro binario de origen.

_record_id

Bigint

0

Se establece en 0 durante la migración completa de datos. Durante la migración incremental, contiene el ID único de la entrada de registro incremental. El ID se incrementa automáticamente para cada nueva entrada de registro.