Data Transmission Service (DTS) permite la sincronización de datos en tiempo real desde una instancia PolarDB-X 2.0 hacia una instancia Tablestore. DTS admite la sincronización de esquemas, la sincronización completa de datos y la sincronización incremental de datos (INSERT, UPDATE, DELETE), lo que le proporciona una copia actualizada continuamente de sus datos de origen en Tablestore.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia Tablestore. Para obtener instrucciones, consulte Activate Tablestore and create an instance.
El AccessKey ID y el AccessKey secret de la cuenta de Alibaba Cloud propietaria de la instancia Tablestore. Para obtener instrucciones, consulte Create an AccessKey pair for an Alibaba Cloud account.
Facturación
|
Tipo de sincronización |
Precio |
|
Sincronización de esquemas y sincronización completa de datos |
Gratis |
|
Sincronización incremental de datos |
Con costo. Para más detalles, consulte Descripción general de facturación. |
Operaciones SQL compatibles con la sincronización incremental
|
Tipo de operación |
Sentencia SQL |
|
DML |
INSERT, UPDATE, DELETE |
Límites
Revise estos límites antes de crear una tarea de sincronización.
Límites de la base de datos de origen
Las tablas deben tener una clave primaria o una restricción única con campos únicos. De lo contrario, la base de datos de destino podría contener registros duplicados.
No se admiten instancias de solo lectura de PolarDB-X 2.0 Enterprise Edition como origen.
Si realiza la sincronización a nivel de tabla con edición de objetos (como asignación de nombres de columnas) y una sola tarea incluye más de 5,000 tablas, divida la tarea o configúrela para sincronizar toda la base de datos.
Si el nombre de una tabla de origen contiene letras mayúsculas, solo se admite la sincronización de esquemas para dicha tabla.
Binlog está habilitado de forma predeterminada en PolarDB-X 2.0. Asegúrese de que el parámetro
binlog_row_imageesté establecido enfull. Para obtener instrucciones, consulte Configuración de parámetros. Si este parámetro no se configura correctamente, la comprobación previa fallará y la tarea no podrá iniciarse.No se admiten grupos de tablas ni bases de datos o tablas con la propiedad Locality.
No se admiten tablas cuyos nombres sean palabras reservadas (como
select).-
No ejecute operaciones DDL que modifiquen los esquemas de la base de datos o de las tablas durante la sincronización de esquemas o la sincronización completa de datos. Esto provoca el fallo de la tarea de sincronización.
Nota
Durante la sincronización completa de datos, DTS consulta la base de datos de origen, lo que genera bloqueos de metadatos que pueden impedir operaciones DDL en dicha base de datos.
No es posible sincronizar particiones de bases de datos en modo DRDS en PolarDB-X 2.0.
Otros límites
Evalúe el rendimiento de sus bases de datos de origen y de destino antes de iniciar la sincronización. Ejecute las tareas de sincronización fuera de las horas pico. La sincronización inicial completa de datos consume recursos de lectura y escritura en ambas bases de datos, lo que incrementa su carga.
La sincronización inicial completa de datos ejecuta operaciones INSERT simultáneas, lo que causa fragmentación de tablas en Tablestore. Como resultado, el espacio de tablas de la instancia Tablestore será mayor que el de la instancia de origen una vez finalizada la sincronización inicial completa.
No escriba datos en la base de datos de destino desde fuentes distintas a DTS durante la sincronización. Esto puede causar inconsistencias de datos entre el origen y el destino.
El número de tablas a sincronizar no debe exceder el límite de 64 de la instancia Tablestore. Para sincronizar más de 64 tablas, póngase en contacto con el soporte técnico de Tablestore para aumentar este límite.
-
Los nombres de tablas y columnas deben cumplir con las convenciones de nomenclatura de Tablestore:
Los nombres pueden contener letras mayúsculas, letras minúsculas, dígitos y guiones bajos (
_), y deben comenzar con una letra o un guion bajo.Los nombres deben tener una longitud de 1 a 255 caracteres.
Si una tarea falla, el personal de soporte de DTS intentará restaurarla dentro de un plazo de 8 horas. Durante la restauración, pueden reiniciar la tarea o ajustar parámetros de la tarea DTS, pero no parámetros de la base de datos. Para consultar los parámetros que podrían ajustarse, véase Modificar parámetros de instancia.
Crear una tarea de sincronización
El proceso completo de configuración consta de los siguientes pasos:
Vaya a la lista de tareas de Data Synchronization.
Configure las bases de datos de origen y de destino.
Configure los objetos de sincronización y la configuración de escritura de Tablestore.
Configure los ajustes avanzados.
Configure las columnas de clave primaria.
Ejecute la comprobación previa y adquiera la instancia.
Paso 1: Ir a la lista de tareas de Data Synchronization
Abra la lista de tareas mediante la consola de DTS o la consola de DMS.
Consola de DTS
Inicie sesión en la consola de DTS.DTS console
En el panel de navegación izquierdo, haga clic en Data Synchronization.
En la esquina superior izquierda, seleccione la región donde se ubicará la instancia de sincronización.
Consola de DMS
Nota
Los pasos exactos pueden variar según el modo y el diseño de la consola de DMS. Para más detalles, consulte Consola en modo simple y Personalizar el diseño y estilo de la consola de DMS.
Inicie sesión en la consola de DMS.DMS console
En la barra de menú superior, elija Data + AI > DTS (DTS) > Data Synchronization.
A la derecha de Data Synchronization Tasks, seleccione la región de la instancia de sincronización.
Paso 2: Configurar las bases de datos de origen y de destino
Haga clic en Create Task.
Introduzca un Task Name. DTS genera uno automáticamente, pero un nombre descriptivo facilita la identificación. El nombre no necesita ser único.
-
Configure la base de datos de origen.
Parámetro Descripción Select Existing Connection Seleccione una instancia de base de datos registrada en la lista desplegable para completar automáticamente la configuración siguiente. Si no ha registrado la instancia o prefiere configurarla manualmente, omita este campo. NotaEn la consola de DMS, este campo se etiqueta como Select a DMS database instance.
Database Type Seleccione PolarDB-X 2.0. Access Method Seleccione Alibaba Cloud Instance. Instance Region Seleccione la región donde se encuentra la instancia PolarDB-X 2.0 de origen. Replicate Data Across Alibaba Cloud Accounts Seleccione No (este ejemplo utiliza la misma cuenta de Alibaba Cloud). Instance ID Seleccione el ID de la instancia PolarDB-X 2.0 de origen. Database Account Introduzca la cuenta de la base de datos para la instancia de origen. La cuenta debe tener los permisos REPLICATION SLAVE, REPLICATION CLIENT y SELECT sobre los objetos a sincronizar. Para obtener instrucciones sobre cómo otorgar permisos, consulte Manage database accounts y Account permissions required for data synchronization. Database Password Introduzca la contraseña de la cuenta de la base de datos. -
Configure la base de datos de destino.
Parámetro Descripción Select Existing Connection Seleccione una instancia de base de datos registrada en la lista desplegable para completar automáticamente la configuración siguiente. Si no ha registrado la instancia o prefiere configurarla manualmente, omita este campo. NotaEn la consola de DMS, este campo se etiqueta como Select a DMS database instance.
Database Type Seleccione Tablestore. Access Method Seleccione Alibaba Cloud Instance. Instance Region Seleccione la región donde se encuentra la instancia Tablestore de destino. Instance ID Seleccione el nombre de la instancia Tablestore de destino. AccessKey ID of Alibaba Cloud Account Introduzca el AccessKey ID de la cuenta de Alibaba Cloud propietaria de la instancia Tablestore. Se utiliza para la verificación de identidad. ImportanteSi introduce el AccessKey ID de un usuario RAM, la tarea podría fallar debido a permisos insuficientes.
AccessKey Secret of Alibaba Cloud Account Introduzca el AccessKey secret de la cuenta de Alibaba Cloud. -
Haga clic en Test Connectivity and Proceed en la parte inferior de la página.
Nota
Asegúrese de que los bloques de direcciones IP del servidor DTS se hayan agregado a la configuración de seguridad de sus bases de datos de origen y de destino, ya sea automática o manualmente, antes de probar la conectividad. Para obtener instrucciones, consulte Agregar la lista de permitidos de direcciones IP de servidores DTS.
Paso 3: Configurar objetos de sincronización y ajustes de escritura
En la página Configure Objects, configure los siguientes ajustes.
Synchronization scope
|
Parámetro |
Descripción |
|
Synchronization Types |
DTS siempre habilita Incremental Data Synchronization, que aplica continuamente los cambios continuos del origen al destino. De forma predeterminada, también se seleccionan Schema Synchronization y Full Data Synchronization: DTS primero copia todos los datos de los objetos seleccionados para inicializar el destino y luego cambia a la sincronización incremental. |
|
Operation Types |
Seleccione los tipos de operaciones DML a sincronizar. INSERT, UPDATE y DELETE están seleccionados de forma predeterminada. |
Gestión de conflictos
| Parámetro | Descripción |
|---|---|
| Processing Mode of Conflicting Tables | Controla cómo maneja DTS los conflictos de nombres entre las tablas de origen y de destino. Precheck and Report Errors: DTS comprueba si hay conflictos de nombres antes de iniciar la tarea. Si se encuentran conflictos, se reporta un error y la tarea no se inicia. Para resolver conflictos sin cambiar el nombre de las tablas de destino, puede asignarles nombres diferentes; consulte Asignación de nombres de columnas de tablas de base de datos. Ignore Errors and Proceed: DTS omite la comprobación de conflictos. Aviso
Esto puede causar inconsistencia en los datos. Durante la sincronización completa de datos, DTS omite los registros de origen que entran en conflicto con los registros existentes en el destino (misma clave primaria o única). Durante la sincronización incremental, DTS sobrescribe los registros de destino con los registros de origen. Si los esquemas de las tablas son inconsistentes, la inicialización puede fallar o resultar en una sincronización parcial. Utilice esta opción con precaución. |
| Processing Policy of Dirty Data | Controla cómo maneja DTS los errores de escritura de datos. Skip: Omite los registros que no se pueden escribir. Block: Detiene la tarea cuando ocurre un error de escritura. |
Configuración de escritura en Tablestore
|
Parámetro |
Descripción |
|
Data Write Mode |
Controla cómo escribe DTS las filas en Tablestore. Overwrite Row: Usa |
|
Batch Write Mode |
La API utilizada para escrituras por lotes. BulkImportRequest (recomendado): Modo de escritura sin conexión con mayor eficiencia de lectura y escritura y menores costos de facturación de Tablestore. BatchWriteRowRequest: Modo estándar de escritura por lotes. |
|
More (opcional) |
Expanda para configurar parámetros avanzados de rendimiento de escritura: Queue Size (longitud de la cola de escritura), Thread Quantity (hilos del controlador de callbacks), Concurrency (límite de solicitudes concurrentes) y Buckets (buckets concurrentes para escritura secuencial de datos incrementales; aumentar este valor mejora el rendimiento de escritura concurrente, pero no debe exceder Concurrency). |
Selección y asignación de objetos
| Parámetro | Descripción |
|---|---|
| Capitalization of Object Names in Destination Instance | La directiva de uso de mayúsculas y minúsculas para nombres de bases de datos, tablas y columnas en el destino. La DTS default policy está seleccionada por defecto. Para más detalles, consulte Directiva de uso de mayúsculas y minúsculas para nombres de objetos de destino. |
| Source Objects | En el cuadro Source Objects, haga clic en los objetos que desea sincronizar y luego haga clic en el icono de flecha para moverlos al cuadro Selected Objects. Puede seleccionar bases de datos completas o tablas individuales. Al seleccionar tablas no se sincronizan vistas, desencadenadores ni procedimientos almacenados. Solo puede sincronizar tablas de una única base de datos por tarea. |
| Selected Objects | Para cambiar el nombre de un objeto en el destino, haga clic derecho sobre él en el cuadro Selected Objects. Para detalles sobre cómo cambiar nombres individualmente o en lote, consulte Asignar nombres de objetos. Al usar la asignación de nombres de columnas, también puede cambiar el tipo de datos de la columna correspondiente en la instancia Tablestore de destino. Para filtrar filas, haga clic derecho en una tabla y establezca una cláusula WHERE. Para más detalles, consulte Set filter conditions. Nota
No se admite la asignación de nombres de bases de datos. La asignación de tablas y columnas solo está disponible cuando selecciona tablas (no bases de datos completas) como objetos de sincronización. |
Paso 4: Configurar ajustes avanzados
Haga clic en Next: Advanced Settings y configure los siguientes parámetros.
| Parámetro | Descripción |
|---|---|
| Dedicated Cluster for Task Scheduling | De forma predeterminada, DTS utiliza un clúster compartido. Para mejorar la estabilidad de la tarea, adquiera un clúster dedicado. Para más detalles, consulte ¿Qué es un clúster dedicado de DTS? |
| Retry Time for Failed Connections | Tiempo durante el cual DTS reintenta la conexión tras un fallo de conexión al origen o al destino. Valor predeterminado: 720 minutos. Rango: 10–1,440 minutos. Establezca este valor en 30 minutos o más. Si la conexión se restablece dentro de este periodo, la tarea se reanudará automáticamente. Nota
Si varias instancias DTS comparten un mismo origen o destino, DTS aplica la duración de reintento más corta configurada entre todas ellas. DTS cobra por el tiempo de ejecución de la tarea durante los reintentos de conexión. |
| Retry Time for Other Issues | Tiempo durante el cual DTS reintenta tras un error que no sea de conexión (como un error de ejecución DDL o DML). Valor predeterminado: 10 minutos. Rango: 1–1,440 minutos. Establezca este valor en 10 minutos o más. Importante
Este valor debe ser menor que Retry Time for Failed Connections. |
| Enable Throttling for Full Data Synchronization | Limite la tasa de sincronización completa de datos para reducir la carga en sus bases de datos. Configure Queries per second (QPS) to the source database, RPS of Full Data Migration y Data migration speed for full migration (MB/s). Este parámetro solo está disponible cuando se selecciona Full Data Synchronization. También puede ajustar la tasa después de que comience la tarea. |
| Enable Throttling for Incremental Data Synchronization | Limite la tasa de sincronización incremental configurando 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 | Controla si DTS escribe latidos SQL en la base de datos de origen. Yesnotificaciones de alerta: No escribe latidos SQL. La instancia DTS podría mostrar una mayor latencia. No: Escribe latidos SQL en la base de datos de origen. Esto puede interferir con operaciones como copias de seguridad físicas y clonación de bases de datos. |
| Environment Tag | Opcionalmente, seleccione una etiqueta para identificar esta instancia. |
| Configure ETL | ETL no es compatible con esta ruta de sincronización. Seleccione No. |
| Monitoring and Alerting | Configure alertas para fallos de tareas o latencia que supere un umbral. No: Sin alertas. Yes: Configure umbrales de alerta y destinatarios. Para más detalles, consulte Configurar monitoreo y alertas. |
Paso 5: Configurar columnas de clave primaria
Haga clic en Next: Configure Database and Table Fields y luego haga clic en OK en el cuadro de diálogo que aparece.
DTS establece la clave primaria de cada tabla de origen como Primary Key Column de forma predeterminada. Para modificar esto, establezca Definition Status en All.
Puede seleccionar varias columnas para formar una clave primaria compuesta.
Paso 6: Ejecutar la comprobación previa y adquirir la instancia
Para obtener una vista previa de los parámetros de API para esta configuración, pase el cursor sobre Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters en la información sobre herramientas.
-
Haga clic en Next: Save Task Settings and Precheck. DTS ejecuta una comprobación previa antes de iniciar la tarea. La tarea solo puede comenzar después de superar dicha comprobación.
Si la comprobación previa falla, haga clic en View Details junto al elemento fallido, solucione el problema según las instrucciones y vuelva a ejecutar la comprobación previa.
-
Si la comprobación previa genera advertencias:
Para advertencias que no se pueden ignorar, haga clic en View Details, solucione el problema y vuelva a ejecutar la comprobación previa.
Para advertencias que se pueden ignorar, haga clic en Confirm Alert Details > Ignore > OK, y luego haga clic en Precheck Again. Ignorar las advertencias de la comprobación previa puede causar inconsistencia en los datos. Proceda con precaución.
Cuando la Success Rate alcance el 100%, haga clic en Next: Purchase Instance.
-
En la página Purchase, seleccione el método de facturación y las especificaciones de la instancia.
Parámetro
Descripción
Billing Method
Subscription: Pago anticipado por una duración fija. Ideal para tareas de sincronización continua a largo plazo. Pay-as-you-go: Facturación por hora según el uso real. Ideal para tareas a corto plazo o de prueba; libere la instancia en cualquier momento para detener la facturación.
Resource Group Settings
El resource group para esta instancia. El valor predeterminado es default resource group. Para más detalles, consulte ¿Qué es Resource Management?
Instance Class
Las diferentes especificaciones ofrecen distintos niveles de throughput de sincronización. Seleccione según los requisitos de su carga de trabajo. Para más detalles, consulte Especificaciones de enlaces de sincronización de datos.
Subscription Duration
Disponible solo para facturación Subscription. Opciones mensuales: 1–9 meses. Opciones anuales: 1, 2, 3 o 5 años.
Lea y seleccione la casilla de verificación de Data Transmission Service (Pay-as-you-go) Service Terms.
Haga clic en Buy and Start y luego haga clic en OK en el cuadro de diálogo de confirmación.
Monitoree el progreso de la tarea en la página Data Synchronization.