Todos los productos
Search
Centro de documentos

Data Transmission Service:Synchronize data from a PolarDB for MySQL cluster to a SelectDB instance

Última actualización: Sep 04, 2026

Data Transmission Service (DTS) sincroniza datos desde un clúster de PolarDB for MySQL hacia una instancia de SelectDB, lo que permite realizar análisis en tiempo real sobre sus datos operativos. SelectDB ofrece respuestas a consultas en menos de un segundo a gran escala, gestiona hasta 10,000 consultas puntuales por segundo y admite análisis complejos de alto rendimiento.

Requisitos previos

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

  • Una instancia de SelectDB con espacio de almacenamiento disponible superior al almacenamiento utilizado por el clúster de origen de PolarDB for MySQL. Para crear una, consulte Create an instance

  • El registro binario habilitado en el clúster de origen de PolarDB for MySQL, con el parámetro loose_polar_log_bin establecido en ON. De lo contrario, se devuelven mensajes de error durante la verificación previa y no es posible iniciar una tarea de DTS. Consulte Enable binary logging y Modificar parámetros

  • El período de retención de registros binarios configurado en como mínimo 3 días (se recomiendan 7 días) en el clúster de origen. En circunstancias excepcionales, puede producirse inconsistencia o pérdida de datos. Asegúrese de configurar el período de retención de los registros binarios según los requisitos anteriores. De lo contrario, no se garantiza la confiabilidad ni el rendimiento del servicio establecidos en el Acuerdo de Nivel de Servicio (SLA) de DTS. Consulte Modificar el período de retención

  • Cuentas de base de datos con los permisos necesarios tanto en la base de datos de origen como en la de destino. Consulte Permissions required for database accounts

Habilitar el registro binario en un clúster de PolarDB for MySQL genera cargos de almacenamiento por el espacio de dichos registros.

Límites

Base de datos de origen

  • Tablas con claves primarias o restricciones únicas: todos los campos en el destino deben ser únicos; de lo contrario, el destino puede contener datos duplicados.

  • Tablas sin claves primarias o restricciones únicas: seleccione Schema Synchronization para Synchronization Types y duplicate para Engine en el paso Configurations for Databases, Tables, and Columns.

  • Al seleccionar tablas (no bases de datos completas) como objetos de sincronización, una sola tarea admite hasta 1,000 tablas. Si necesita más de 1,000 tablas, configure varias tareas o sincronice a nivel de base de datos.

  • No ejecute operaciones de lenguaje de definición de datos (DDL) que modifiquen esquemas durante la sincronización inicial de esquemas o la sincronización inicial completa de datos. Durante la sincronización completa de datos, DTS consulta la base de datos de origen, lo que crea bloqueos de metadatos que pueden impedir las operaciones DDL.

  • Los cambios en los datos que no se registran en los registros binarios (como los datos restaurados desde una copia de seguridad física o generados por operaciones en cascada) no se sincronizan con el destino. Si esto ocurre, quite la base de datos o tabla afectada de los objetos de sincronización y vuelva a agregarla. Consulte Modificar objetos de sincronización.

Objetos y operaciones no compatibles

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

  • Las tablas externas de OSS del clúster de origen no se sincronizan.

  • INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER y FK no se sincronizan.

  • No se admite la conmutación entre principal y secundaria durante la sincronización completa. Si ocurre una conmutación, reconfigure la tarea.

  • No es posible modificar DDL en varias columnas a la vez ni modificar DDL en la misma tabla de forma consecutiva.

  • No se admiten cambios DDL en línea mediante pt-online-schema-change. Si existen tales cambios en el origen, puede producirse pérdida de datos o errores en la instancia de sincronización.

Restricciones del destino

  • En la instancia de destino de SelectDB solo se admiten el modelo Unique Key y el modelo Duplicate Key.

  • Los nombres de bases de datos y tablas en SelectDB deben comenzar con una letra. Utilice la función de asignación de nombres de objetos para renombrar aquellos que no cumplan este requisito.

  • Si el nombre de una base de datos, tabla o columna contiene caracteres chinos, utilice la función de asignación de nombres de objetos para renombrarlo (por ejemplo, cámbielo a su equivalente en inglés). De lo contrario, la tarea puede fallar.

  • No cree clústeres en la instancia de destino de SelectDB durante la sincronización. Si la tarea falla por esta razón, reinicie la instancia de sincronización de datos para reanudarla.

  • No agregue nodos de backend a la instancia de destino de SelectDB durante la sincronización. Si la tarea falla por esta razón, reinicie la instancia de sincronización de datos para reanudarla.

  • Solo se puede especificar el parámetro bucket_count en la sección Selected Objects. El valor debe ser un número entero positivo. Valor predeterminado: auto.

  • En escenarios de fusión de varias tablas donde los datos de múltiples tablas de origen se sincronizan en la misma tabla de destino, todas las tablas de origen deben tener el mismo esquema. Los esquemas no coincidentes pueden causar inconsistencia de datos o fallos en la tarea.

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

  • Al usar DMS o gh-ost para realizar cambios DDL en línea en el origen, DTS sincroniza solo el DDL original con el destino. Esto puede provocar bloqueos de tablas en el destino.

  • Si se escriben datos en la base de datos de destino desde fuentes distintas a DTS durante la sincronización, puede producirse inconsistencia de datos.

  • DTS ejecuta CREATE DATABASE IF NOT EXISTS \ test\`` en la base de datos de origen a intervalos programados para avanzar la posición del registro binario.

  • Durante la sincronización incremental, DTS utiliza una estrategia por lotes que escribe datos para cada objeto de sincronización como máximo una vez cada 5 segundos. Esto resulta en una latencia de sincronización normal inferior a 10 segundos. Para reducir esta latencia, ajuste el parámetro selectdb.reservoir.timeout.milliseconds en la consola de DTS. El rango permitido es de 1,000 a 10,000 milisegundos. Valores más bajos aumentan la frecuencia de escritura, lo que puede incrementar la carga y el tiempo de respuesta (RT) del destino.

  • Si una instancia de DTS falla, el servicio de asistencia técnica intenta recuperarla en un plazo de 8 horas. Durante la recuperación, la instancia puede reiniciarse o ajustarse sus parámetros. Para conocer los parámetros que pueden modificarse, consulte Modificar parámetros de instancia.

  • Antes de sincronizar datos, evalúe el rendimiento de ambas bases de datos y ejecute la sincronización fuera de las horas pico. La sincronización inicial completa de datos ejecuta operaciones INSERT simultáneas, lo que aumenta la carga en ambas bases de datos y causa fragmentación de tablas en el destino, lo que resulta en un espacio de tablas mayor que en el origen.

Modelo Unique Key

Todas las claves únicas en la tabla de destino deben existir en la tabla de origen y estar incluidas en los objetos de sincronización. De lo contrario, puede producirse inconsistencia de datos.

Modelo Duplicate Key

Pueden aparecer datos duplicados en el destino si ocurre alguno de los siguientes eventos:

  • Una operación de reintento en una instancia de sincronización de datos

  • Dos o más operaciones de lenguaje de manipulación de datos (DML) en la misma fila después de que se inicia la instancia de sincronización

Para eliminar duplicados en los datos, utilice las columnas adicionales _is_deleted, _version y _record_id. Para obtener detalles sobre las columnas, consulte Additional column information.

Para las tablas del modelo Duplicate Key, DTS convierte las sentencias UPDATE y DELETE en sentencias INSERT.

Facturación

Tipo de sincronización

Tarifa de configuración de la tarea

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

Gratuita

Sincronización incremental de datos

Con cargo. Consulte Descripción general de facturación.

Operaciones SQL que admiten sincronización incremental

Tipo de operación

Sentencia SQL

DML

INSERT, UPDATE, DELETE

DDL

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

Importante

La operación RENAME TABLE puede causar inconsistencia de datos. Si renombra una tabla durante la sincronización y solo se seleccionó la tabla (no la base de datos completa) como objeto de sincronización, los datos de la tabla renombrada no se sincronizan. Para evitarlo, seleccione la base de datos como objeto de sincronización y asegúrese de incluir tanto la base de datos de la tabla original como la de la tabla renombrada.

Permisos necesarios para las cuentas de base de datos

Base de datos

Permisos obligatorios

Cómo configurar

Origen: PolarDB for MySQL

Permisos de lectura y escritura en los objetos que se van a sincronizar

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

Destino: SelectDB

USAGE_PRIV en el clúster; SELECT_PRIV, LOAD_PRIV, ALTER_PRIV, CREATE_PRIV y DROP_PRIV en la base de datos

Cluster Permission Management y Basic Permission Management

Crear una tarea de sincronización de datos

Paso 1: Ir a la página Data Synchronization

Utilice uno de los siguientes métodos para abrir la página Data Synchronization.

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

Consola de Data Management (DMS)

La ruta de navegación exacta puede variar según el modo y el diseño 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, pase el puntero sobre Data + AI y elija DTS (DTS) > Data Synchronization.

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

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

  1. Haga clic en Create Task.

  2. Configure el nombre de la tarea y la base de datos de origen.

    Parámetro

    Descripción

    Task Name

    DTS genera un nombre automáticamente. Especifique un nombre descriptivo para facilitar la identificación de la tarea. El nombre no necesita ser único.

    Select Existing Connection (origen)

    Si la instancia de origen está registrada en DTS, selecciónela de la lista. DTS completa automáticamente los parámetros de conexión. De lo contrario, configure los parámetros manualmente. Consulte Manage database connections.

    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 sincronizar dentro de la misma cuenta de Alibaba Cloud.

    PolarDB Cluster ID

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

    Database Account

    Introduzca la cuenta del clúster de origen. Consulte Permissions required for database accounts.

    Database Password

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

    Encryption

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

  3. Configure la base de datos de destino.

    Parámetro

    Descripción

    Select Existing Connection (destino)

    Si la instancia de destino está registrada en DTS, selecciónela de la lista. DTS completa automáticamente los parámetros de conexión. De lo contrario, configure los parámetros manualmente. Consulte Gestionar conexiones de base de datos.

    Database Type

    Seleccione SelectDB.

    Access Method

    Seleccione Alibaba Cloud Instance.

    Instance Region

    Seleccione la región donde reside la instancia de destino de SelectDB.

    Replicate Data Across Alibaba Cloud Accounts

    Seleccione No para sincronizar dentro de la misma cuenta de Alibaba Cloud.

    Instance ID

    Seleccione el ID de la instancia de destino de SelectDB.

    Database Account

    Introduzca la cuenta de la instancia de destino. Consulte Permissions required for database accounts.

    Database Password

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

  4. Haga clic en Test Connectivity and Proceed.

    Los bloques CIDR de los servidores de DTS deben agregarse a la configuración de seguridad tanto de la base de datos de origen como de la de destino. DTS puede agregarlos automáticamente o usted puede hacerlo manualmente. Consulte Agregar direcciones IP de servidores DTS a una lista blanca . Si el Access Method de la base de datos de origen o destino no es Alibaba Cloud Instance , haga clic en Test Connectivity en el cuadro de diálogo CIDR Blocks of DTS Servers .

Paso 3: Configurar objetos de sincronización

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

    Parámetro Descripción
    Synchronization Types De forma predeterminada, Incremental Data Synchronization está seleccionado. Seleccione también Schema Synchronization y Full Data Synchronization. Después de la verificación previa, DTS sincroniza los datos históricos del origen al destino como base para la posterior sincronización incremental.
    Importante

    Al sincronizar desde PolarDB for MySQL hacia SelectDB, se convierten los tipos de datos. Si no selecciona Schema Synchronization, cree previamente tablas de modelo Unique o Duplicate con los esquemas adecuados en la instancia de destino de SelectDB. Consulte Data type mappings, Additional column information y Data models.

    Processing Mode of Conflicting Tables Precheck and Report Errors: comprueba si existen tablas con el mismo nombre en el destino. Si hay un conflicto, se reporta un error durante la verificación previa y la tarea no se inicia. Para resolver conflictos sin eliminar ni renombrar la tabla de destino, utilice la función de asignación de nombres de objetos. Consulte Asignar nombres de bases de datos, tablas y columnas. Ignore Errors and Proceed: omite la comprobación.
    Aviso

    Esto puede causar inconsistencia de datos. Si los esquemas coinciden, DTS sobrescribe los registros de destino con la misma clave primaria o única. Si los esquemas difieren, la inicialización de datos puede fallar o solo algunas columnas podrían sincronizarse.

    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 en el destino. Valor predeterminado: DTS default policy. Consulte Especificar el uso de mayúsculas en nombres de objetos de la instancia de destino.
    Source Objects Seleccione uno o varios objetos y haga clic en el icono 向右 para moverlos a Selected Objects. Puede seleccionar bases de datos o tablas.
    Selected Objects Para renombrar un objeto de sincronización, haga clic derecho sobre él. Consulte Asignar el nombre de un solo objeto. Si Schema Synchronization está seleccionado, haga clic derecho en una tabla en Selected Objects, establezca Enable Parameter Settings en Sí, especifique un valor para bucket_count y haga clic en OK. Para filtrar operaciones SQL o filas de un objeto específico, haga clic derecho sobre él y configure las opciones. Para el filtrado de filas, consulte Especificar condiciones de filtro.
    Nota

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

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

    Parámetro Descripción
    Dedicated Cluster for Task Scheduling De forma predeterminada, la tarea se programa en el 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 la conexión si falla la conexión a la base de datos de origen o destino después de iniciada la tarea. Rango válido: 10–1,440 minutos. Valor predeterminado: 720 minutos. Establezca un valor superior a 30 minutos. Si DTS se reconecta dentro del período de reintento, la tarea se reanuda. De lo contrario, la tarea falla.
    Nota

    Si varias tareas comparten la misma base de datos de origen o destino, prevalece el tiempo de reintento más corto. Se aplican cargos de DTS durante el período de reintento.

    Retry Time for Other Issues Tiempo durante el cual DTS reintenta operaciones DDL o DML fallidas. Rango válido: 1–1,440 minutos. Valor predeterminado: 10 minutos. Establezca un valor superior a 10 minutos. Este valor debe ser menor que Retry Time for Failed Connections.
    Enable Throttling for Full Data Synchronization Limita el uso de recursos de lectura/escritura durante la sincronización completa de datos. Cuando está habilitado, 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 si Full Data Synchronization está seleccionado.
    Enable Throttling for Incremental Data Synchronization Limita el uso de recursos durante la sincronización incremental. Cuando está habilitado, configure RPS of Incremental Data Synchronization y Data synchronization speed for incremental synchronization (MB/s).
    Environment Tag Opcionalmente, seleccione una etiqueta para identificar la instancia.
    Whether to delete SQL operations on heartbeat tables of forward and reverse tasks Controla si DTS escribe operaciones SQL de tablas de latido en la base de datos de origen. Sí: no escribe operaciones de latido (puede mostrarse latencia en la instancia de DTS). No: escribe operaciones de latido (puede afectar funciones como la copia de seguridad física y la clonación de la base de datos de origen).
    Configure ETL Habilita la función de extracción, transformación y carga (ETL). Consulte ¿Qué es ETL? Sí: configura ETL con sentencias de procesamiento de datos. Consulte Configurar ETL en una tarea de migración o sincronización de datos. No: omite la configuración de ETL.
    Monitoring and Alerting Configura alertas para fallos de tareas o latencia de sincronización que supere un umbral. Sí: configure el umbral de alerta y la configuración de notificaciones. Consulte Configurar monitoreo y alertas al crear una tarea de DTS. No: las alertas están deshabilitadas.
  3. (Opcional) Haga clic en Next: Configure Database and Table Fields. En el cuadro de diálogo, especifique Primary Key Column, Distribution Key y Engine para las tablas a sincronizar.

    Este paso está disponible solo si Schema Synchronization está seleccionado. Establezca Definition Status en All para ver y modificar todas las tablas. Puede seleccionar varias columnas para Primary Key Column . Una o más de esas columnas pueden usarse para Distribution Key . Para tablas sin claves primarias o restricciones únicas, seleccione duplicate para Engine . De lo contrario, la tarea puede fallar o producirse pérdida de datos.

Paso 4: Ejecutar la verificación previa

  1. Haga clic en Next: Save Task Settings and Precheck. Para obtener una vista previa de los parámetros de API para esta configuración de tarea, pase el cursor sobre el botón y haga clic en Preview OpenAPI parameters.

  2. Espere a que finalice la verificación previa.

    • Si la verificación previa falla, haga clic en View Details junto a cada elemento fallido, resuelva el problema y luego haga clic en Precheck Again.

    • Si se activa una alerta:

      • Para alertas que no se pueden ignorar, haga clic en View Details, resuelva el problema y ejecute la verificación previa nuevamente.

      • Para alertas que se pueden ignorar, haga clic en Confirm Alert Details, haga clic en Ignore en el cuadro de diálogo, haga clic en OK y luego haga clic en Precheck Again. Ignorar una alerta puede resultar en inconsistencia de datos.

    La tarea no puede iniciarse hasta que apruebe la verificación previa.

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 buy, configure los siguientes parámetros.

    Parámetro

    Descripción

    Billing Method

    Subscription: pago anticipado por un período fijo. 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 sea necesaria para detener los cargos.

    Resource Group Settings

    El resource group para la instancia. Valor predeterminado: default resource group. Consulte What is Resource Management?

    Instance Class

    Seleccione una clase según sus requisitos de velocidad de sincronización. Consulte Clases de instancia de sincronización de datos.

    Subscription Duration

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

  3. Lea y seleccione 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.

La tarea aparece en la lista de tareas. Desde allí puede monitorear su progreso.

Asignaciones de tipos de datos

Categoría Tipo de PolarDB for MySQL Tipo de SelectDB Notas
Numérico 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 DECIMAL No se admite el atributo zerofill.
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 Para evitar la pérdida de datos, los valores CHAR y VARCHAR(n) se convierten a VARCHAR(4*n) en SelectDB. Si no se especifica longitud, se usa el valor predeterminado VARCHAR(65533). Si la longitud excede 65,533, el valor se convierte a STRING.
BINARY, VARBINARY STRING
TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT STRING
TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB STRING
ENUM STRING
SET STRING
JSON STRING

Información adicional sobre columnas

Al sincronizar hacia una tabla de modelo Duplicate Key, DTS agrega automáticamente las siguientes columnas o requiere que las agregue manualmente.

Nombre

Tipo de dato

Valor predeterminado

Descripción

_is_deleted

Int

0

Indica si la fila está eliminada. Las operaciones INSERT y UPDATE establecen este valor en 0. Las operaciones DELETE lo establecen en 1.

_version

Bigint

0

Para datos de sincronización completa: 0. Para datos de sincronización incremental: la marca de tiempo UNIX (en segundos) del registro binario de origen.

_record_id

Bigint

0

Para datos de sincronización completa: 0. Para datos de sincronización incremental: el ID de registro único del registro incremental. El valor es único y aumenta monótonamente.