Utilice Data Transmission Service (DTS) para migrar datos desde un clúster de PolarDB for MySQL hacia el motor de tabla ancha de una instancia de Lindorm. DTS admite la migración completa de datos, la migración incremental de datos o ambas.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia de destino en Lindorm que utilice el motor de tabla ancha, con una capacidad de almacenamiento superior al espacio utilizado por el clúster de origen de PolarDB for MySQL. Consulte Create an instance.
La función de compatibilidad con MySQL habilitada en la instancia de destino de Lindorm. Consulte Enable the MySQL compatibility feature.
Una base de datos (namespace) y una tabla ancha creadas en la instancia de destino de Lindorm. Si es necesario, preparticione la tabla ancha según el volumen de datos esperado. Consulte Connect to and use the wide table engine using a MySQL command-line tool, Connect to and use the wide table engine using Lindorm-cli, Access the wide table engine using Lindorm Shell, CREATE TABLE y Data type mapping.
Los objetos que cree deben cumplir los requisitos indicados en Cuotas y límites .
Límites
Los siguientes límites aplican a esta ruta de migración. Cada límite está etiquetado con el tipo de migración al que afecta: (Full), (Incremental) o (Both).
Base de datos de origen
| Límite | Aplica a |
|---|---|
| El servidor de la base de datos de origen debe tener suficiente ancho de banda de salida. Un ancho de banda insuficiente reduce la velocidad de migración. | Ambos |
| Las tablas deben tener restricciones PRIMARY KEY o UNIQUE, y todos sus campos deben ser únicos. De lo contrario, la base de datos de destino podría contener registros duplicados. | Ambos |
| Si selecciona tablas como objetos de migración y necesita cambiar el nombre de tablas o columnas en la base de datos de 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. | Ambos |
El registro binario debe estar habilitado y loose_polar_log_bin debe establecerse en on. Consulte Enable binary logging y Modificar parámetros. Nota
Habilitar el registro binario genera cargos de almacenamiento por el espacio ocupado por los registros binarios. |
Solo incremental |
| Los registros binarios deben conservarse durante al menos 3 días. Se recomienda encarecidamente un periodo de retención de 7 días. Una retención más corta puede provocar que DTS falle al obtener los registros binarios, lo que resulta en un error de tarea o pérdida de datos. Una retención insuficiente también implica que el Acuerdo de Nivel de Servicio (SLA) de DTS podría no aplicar. Consulte Modificar el periodo de retención. | Solo incremental |
| No realice operaciones DDL sobre los objetos de migración durante el proceso. DTS consulta la base de datos de origen durante la migración completa, lo que crea bloqueos de metadatos que pueden impedir las operaciones DDL. | Solo completa |
| No escriba nuevos datos en la base de datos de origen. Para mantener la consistencia de los datos en tiempo real, ejecute tanto la migración completa como la incremental en lugar de solo la migración completa. | Solo completa (cuando se ejecuta sin incremental) |
Otros límites
|
Límite |
Aplica a |
|
No se admite la migración de esquemas. |
Ambos |
|
No se admite la migración de columnas con tipo de datos BIT. |
Ambos |
|
No puede migrar únicamente campos de clave primaria. Los datos migrados deben incluir al menos un campo que no sea de clave primaria. |
Ambos |
|
DTS no migra nodos de solo lectura del clúster de origen de PolarDB for MySQL. |
Ambos |
|
DTS no migra tablas externas de Object Storage Service (OSS) del clúster de origen. |
Ambos |
|
DTS escribe datos únicamente en el motor de tabla ancha de la instancia de Lindorm. |
Ambos |
|
DTS no admite el cambio entre principal y en espera durante la migración completa. Si ocurre un cambio, reconfigure la tarea de migración de inmediato. |
Solo completa |
|
Las cadenas vacías VARBINARY se tratan como valores nulos tanto en DTS como en la instancia de Lindorm. Por ejemplo, un valor de columna de origen de |
Ambos |
|
Si las columnas DECIMAL en la instancia de destino de Lindorm tienen una precisión diferente a la del origen, la tarea falla. |
Ambos |
|
Los datos en la instancia de Lindorm deben cumplir los requisitos indicados en Límites en solicitudes de datos. De lo contrario, la tarea falla. |
Ambos |
|
DTS consume recursos de lectura y escritura tanto en la base de datos de origen como en la de destino, lo que incrementa la carga de la base de datos. Ejecute las migraciones fuera de horas pico, cuando la carga de CPU de ambas bases de datos sea inferior al 30%. |
Solo completa |
|
Las operaciones INSERT simultáneas durante la migración completa causan fragmentación de tablas en la base de datos de destino. Después de la migración completa, el almacenamiento utilizado por las tablas de destino es mayor que en la instancia de origen. |
Solo completa |
|
No utilice herramientas como pt-online-schema-change para realizar operaciones DDL en línea sobre los objetos de migración en la base de datos de origen durante la migración. |
Ambos |
|
Si otros orígenes escriben en la base de datos de destino durante la migración, puede producirse inconsistencia en los datos. |
Ambos |
|
Si una instancia de DTS falla, el soporte técnico de DTS intenta recuperarla dentro de las 8 horas siguientes. Durante la recuperación, se pueden realizar operaciones como 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 ver los parámetros que se pueden modificar. |
Ambos |
Facturación
|
Tipo de migración |
Cargos por configuración de enlace |
Cargos por transferencia de datos |
|
Migración completa de datos |
Gratis |
Gratis cuando el Access Method de la base de datos de destino es Alibaba Cloud Instance. Si el Access Method es Public IP Address, la transferencia de datos a través de Internet genera cargos adicionales. Consulte Billing overview. |
|
Migración incremental de datos |
Con cargo. Consulte Billing overview. |
— |
Operaciones SQL admitidas para migración incremental
|
Tipo de operación |
Sentencias SQL |
|
DML |
INSERT, UPDATE, DELETE |
|
DDL |
CREATE TABLE, DROP TABLE, ADD COLUMN |
Debido a las limitaciones del motor de tabla ancha , los atributos adicionales en las sentencias ADD COLUMN no se migran. Por ejemplo,ALTER TABLE test ADD COLUMN col INT DEFAULT 0;en el origen se convierte enALTER TABLE test ADD COLUMN col INT;en el destino.
Permisos necesarios
| Base de datos | Migración completa | Migración incremental |
|---|---|---|
| Clúster de origen de PolarDB for MySQL | SELECT | Lectura y escritura |
| Instancia de destino de Lindorm | Lectura y escritura en el namespace de destino | |
Para obtener instrucciones paso a paso sobre cómo crear cuentas y otorgar permisos:
PolarDB for MySQL: Create and manage database accounts
Lindorm: User management
Crear una tarea de migración
-
Vaya a la página Data Migration y seleccione la región donde reside la instancia de migración.
Consola de DTS
Inicie sesión en la DTS console.
En el panel de navegación izquierdo, haga clic en Data Migration.
En la esquina superior izquierda de la página, seleccione la región en la que reside la instancia de migración de datos.
Consola de DMS
Nota
El diseño de la consola de DMS puede variar según el modo. Consulte Modo simple y Personalizar el diseño y estilo de la consola de DMS.
Inicie sesión en la DMS console.
En la barra de navegación superior, pase el puntero sobre .
En la lista desplegable a la derecha de Data Migration Tasks, seleccione la región en la que reside la instancia de sincronización de datos.
Haga clic en Create Task.
-
Configure las bases de datos de origen y de destino.
Sección Parámetro Descripción (Ninguna) Task Name Nombre para la tarea de DTS. DTS genera un nombre automáticamente. Especifique un nombre descriptivo para identificar fácilmente la tarea. El nombre no necesita ser único. Source Database Select Existing Connection Si la instancia está registrada en DTS, selecciónela de la lista desplegable y DTS completará automáticamente los campos restantes. De lo contrario, configure manualmente los campos siguientes. En la consola de DMS, seleccione la instancia en Select a DMS database instance. Consulte Manage database connections. Database Type Seleccione PolarDB for MySQL. Access Method Seleccione Alibaba Cloud Instance. Instance Region Seleccione la región del clúster de origen de PolarDB for MySQL. Replicate Data Across Alibaba Cloud Accounts Seleccione No si la instancia de origen pertenece a la cuenta actual de Alibaba Cloud. PolarDB Cluster ID Seleccione el ID del clúster de origen de PolarDB for MySQL. Database Account Introduzca la cuenta de la base de datos. Consulte Permisos necesarios. 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 Configure SSL encryption. Destination Database Select Existing Connection Si la instancia está registrada en DTS, selecciónela de la lista desplegable. De lo contrario, configure manualmente los campos siguientes. Consulte Manage database connections. Database Type Seleccione Lindorm. Access Method Seleccione Alibaba Cloud Instance. Instance Region Seleccione la región de la instancia de destino de Lindorm. Instance ID Seleccione el ID de la instancia de destino de Lindorm. Database Account Introduzca la cuenta de la base de datos. Consulte Permisos necesarios. 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 (listas de permitidos) tanto de la base de datos de origen como de la de destino. Consulte Agregar direcciones IP de servidores DTS a una lista de permitidos . Si la base de datos de origen o de destino utiliza un método de acceso distinto a Alibaba Cloud Instance , haga clic en Test Connectivity en el cuadro de diálogo CIDR Blocks of DTS Servers .
-
En la página Configure Objects, seleccione los objetos a migrar y configure los ajustes de migración.
Si cambia el nombre de los objetos mediante la asignación de nombres de objetos, otros objetos que dependan del objeto renombrado podrían fallar durante la migración.
Parámetro
Descripción
Migration Types
Seleccione Full Data Migration para una migración única. Seleccione tanto Full Data Migration como Incremental Data Migration para mantener la consistencia de los datos mientras sus servicios permanecen en línea. Si selecciona solo la migración completa, no escriba en la base de datos de origen durante la migración.
Processing Mode of Conflicting Tables
Utilice el valor predeterminado.
Capitalization of Object Names in Destination Instance
Controla cómo se capitalizan los nombres de bases de datos, tablas y columnas en el destino. El valor predeterminado es DTS default policy. Consulte Especificar la capitalización de nombres de objetos en la instancia de destino.
Source Objects
Seleccione los objetos a migrar y haga clic en
para moverlos a Selected Objects. Puede seleccionar bases de datos, tablas y columnas.Selected Objects
Si los nombres de la base de datos (namespace), tabla o columna en el destino difieren de los del origen, utilice la asignación de nombres de objetos. Consulte Map object names. Para filtrar filas por condición, haga clic con el botón derecho en una tabla y especifique una cláusula WHERE. Consulte Especificar condiciones de filtro. Para seleccionar operaciones SQL específicas para la migración incremental, haga clic con el botón derecho en un objeto dentro de Selected Objects.
-
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 programa las tareas en el clúster compartido. Adquiera un clúster dedicado para mejorar la estabilidad. Consulte ¿Qué es un clúster dedicado de DTS?.
Retry Time for Failed Connections
Tiempo durante el cual DTS reintenta la conexión cuando la base de datos de origen o de destino deja de ser accesible. Valores válidos: 10–1,440 minutos. Predeterminado: 720 minutos. Establezca este valor en más de 30 minutos. Si las bases de datos se reconectan dentro de esta ventana, DTS reanuda la tarea; de lo contrario, la tarea falla. Si varias tareas comparten el mismo origen o destino, se aplica el valor establecido más recientemente. DTS cobra por la instancia durante el reintento.
Retry Time for Other Issues
Tiempo durante el cual DTS reintenta tras fallos en DDL o DML. Valores válidos: 1–1,440 minutos. Predeterminado: 10 minutos. Establezca este valor en más de 10 minutos. Este valor debe ser menor que Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Limita el consumo de recursos de lectura y escritura de DTS durante la migración completa para reducir la carga de la base 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). Disponible solo cuando se selecciona Full Data Migration.
Enable Throttling for Incremental Data Migration
Limita el consumo de recursos 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 tasks
Controla si DTS escribe operaciones de tabla de latido en la base de datos de origen. Yesconfiguración de notificaciones de alerta: no escribe operaciones de latido (se puede mostrar latencia para 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).
Environment Tag
(Opcional) Seleccione una etiqueta para identificar la instancia.
Configure ETL
Indica si se habilita la extracción, transformación y carga (ETL). Yes: abre un editor de código para sentencias de procesamiento de datos. Consulte Configurar ETL en una tarea de migración o sincronización de datos. No: ETL está deshabilitado. Consulte ¿Qué es ETL?
Monitoring and Alerting
Indica si se configuran alertas por fallos de tarea o umbrales de latencia. Yes: configure el umbral de alerta y los contactos de notificación. Consulte Configurar monitoreo y alertas al crear una tarea de DTS. No: sin alertas.
-
Haga clic en Next: Save Task Settings and Precheck. Para obtener una vista previa de los parámetros de API para esta tarea, pase el cursor sobre Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters antes de continuar.
DTS ejecuta una comprobación previa antes de iniciar la tarea de migración. La tarea comienza solo después de aprobar dicha comprobación. - Si un elemento de la comprobación falla, haga clic en View Details junto a él, resuelva el problema y luego haga clic en Precheck Again . - Si se activa una alerta para un elemento de la comprobación: - Si la alerta no se puede ignorar, corrija el problema y ejecute la comprobación nuevamente. - Si la alerta se puede ignorar, haga clic en Confirm Alert Details , luego en Ignore , después en OK y finalmente en Precheck Again . Ignorar alertas puede resultar en inconsistencia de datos.
Cuando Success Rate alcance 100%, haga clic en Next: Purchase Instance.
-
En la página Purchase Instance, configure la clase de instancia.
Sección Parámetro Descripción New Instance Class Resource Group El resource group para la instancia de migración. Predeterminado: default resource group. Consulte What is Resource Management? Instance Class La clase de instancia determina la velocidad de migración. Seleccione según sus necesidades. Consulte Clases de instancia de migración de datos. Lea los Data Transmission Service (Pay-as-you-go) Service Terms, marque la casilla para aceptar y luego haga clic en Buy and Start. En el cuadro de diálogo de confirmación, haga clic en OK.
Verificar la migración
Monitoree el progreso de la tarea en la página Data Migration:
Full data migration only: La tarea se detiene automáticamente al finalizar. El estado cambia a Completed.
Full and incremental data migration: La fase de migración incremental se ejecuta continuamente y no se detiene automáticamente. El estado muestra Running.