Data Transmission Service (DTS) migra filas desde una instancia de RDS MySQL hacia una instancia de Tair (compatible con Redis OSS) y convierte cada fila en un par clave-valor de Redis. Utilice esta función para descargar datos activos a una caché en memoria y reducir la carga en su base de datos relacional.
Funcionamiento
DTS admite dos modos de migración:
|
Modo de migración |
Cuándo utilizarlo |
|
Migración completa de datos |
Cuando requiere una carga inicial única o una transición definitiva. DTS migra todos los datos existentes una sola vez y luego se detiene. |
|
Migración completa + migración incremental de datos |
Cuando la aplicación está en producción y necesita mantener el destino sincronizado. DTS migra los datos existentes y después replica de forma continua los cambios (INSERT, UPDATE, DELETE) desde el registro binario del origen. |
Requisitos
Base de datos de origen
|
Requisito |
Detalles |
|
Claves principales |
Todas las tablas que se van a migrar deben tener claves principales. No es posible migrar tablas sin clave principal. |
|
Registro binario (solo migración incremental) |
|
|
Clúster MySQL con doble nodo principal (solo incremental) |
Establezca |
|
Columnas invisibles en MySQL 8.0.23+ |
Haga visibles las columnas antes de migrar: |
|
Migración a nivel de tabla con asignación de nombres de objetos |
Una sola tarea admite hasta 1,000 tablas. Para migrar más, divida el proceso en varias tareas o migre toda la base de datos. |
Instancia de destino
|
Requisito |
Detalles |
|
Capacidad de almacenamiento |
Debe superar el espacio de almacenamiento utilizado por la instancia de RDS MySQL de origen. Consulte Create an instance. |
|
Transparent Data Encryption (TDE) |
Debe estar deshabilitada. DTS no puede migrar datos a una instancia de Tair con TDE habilitada. |
|
Directiva de desalojo de memoria |
Establezca |
Cuentas de la base de datos de origen
|
Base de datos |
Permisos obligatorios |
Cómo configurar |
|
RDS MySQL de origen |
Lectura sobre los objetos a migrar |
|
|
Tair de destino (compatible con Redis OSS) |
Lectura y escritura en la instancia |
Facturación
|
Tipo de migración |
Costo |
|
Migración de esquema y migración completa de datos |
Gratis |
|
Migración incremental de datos |
De pago. Consulte Billing overview. |
Operaciones SQL compatibles con la migración incremental
|
Tipo de operación |
Sentencia SQL |
|
DML |
INSERT, UPDATE, DELETE |
Comportamientos conocidos y límites
Durante la migración completa de datos:
-
No ejecute operaciones DDL en la base de datos de origen. Los cambios de esquema provocan errores en la tarea.
DTS coloca bloqueos de metadatos en la base de datos de origen durante la migración completa, lo que también podría bloquear las operaciones DDL que ejecute manualmente.
No escriba nuevos datos en el origen si selecciona únicamente la migración completa. Para garantizar consistencia en tiempo real, habilite tanto la migración completa como la incremental.
-
Si la función de cifrado permanente (EncDB) está habilitada en la instancia de RDS MySQL, la migración completa de datos no es compatible.
Las instancias de RDS MySQL con TDE habilitada admiten tanto la migración completa como la incremental de datos.
Durante la tarea de migración:
No escriba en el destino desde fuentes distintas a DTS. Las escrituras externas causan inconsistencia en los datos.
Si la instancia de Tair de destino es un clúster y un shard alcanza su límite de memoria o se queda sin almacenamiento, la tarea falla con un error de Out of Memory.
Si la instancia de Tair de destino experimenta una pérdida transitoria de conexión, un failover primario/secundario o un cambio de endpoint, es posible que los datos completos se vuelvan a migrar al destino, lo que puede causar inconsistencia.
Si ocurre un failover primario/secundario en un origen MySQL autogestionado mientras se ejecuta la tarea, esta fallará.
Una instancia de solo lectura de ApsaraDB RDS for MySQL V5.6 (que no registra logs de transacciones) no puede usarse como origen para la migración incremental de datos.
Los datos provenientes de operaciones de cambio del registro binario —como datos restaurados desde una copia de seguridad física o desde una operación en cascada— no se replican al destino.
DTS ejecuta periódicamente
CREATE DATABASE IF NOT EXISTSen el origen para avanzar la posición del registro binario.DTS calcula la latencia de migración comparando la marca de tiempo del último registro migrado con la marca de tiempo actual del origen. Si el origen no recibe actividad DML durante un periodo prolongado, la latencia mostrada podría ser inexacta. Ejecute cualquier operación DML en el origen para actualizar la lectura de latencia. Si migra una base de datos completa, cree una tabla de latidos que reciba actualizaciones cada segundo para mantener la precisión de la latencia.
Si una instancia de DTS falla, el equipo de DTS intenta recuperarla en un plazo de 8 horas. Durante la recuperación, la instancia podría reiniciarse o ajustarse sus parámetros. Solo se modifican los parámetros de la instancia de DTS; los parámetros de su base de datos no se alteran.
Crear una tarea de migración
Paso 1: Ir a la página de migración de datos
Consola de DTS
Inicie sesión en la consola de DTS.
En el panel de navegación izquierdo, haga clic en Data Migration.
En la esquina superior izquierda, seleccione la región donde residirá la instancia de migración.
Consola de DMS
Los pasos pueden variar según el modo y el diseño de la consola de Data Management (DMS). Consulte Simple mode y Customize the layout and style of the DMS console .
Inicie sesión en la consola de DMS.
En la barra de navegación superior, pase el puntero sobre Data + AI > DTS (DTS) > Data Migration.
En la lista desplegable junto a Data Migration Tasks, seleccione la región donde residirá la instancia de migración.
Paso 2: Configurar las bases de datos de origen y destino
Haga clic en Create Task y configure los siguientes parámetros.
Nombre de la tarea
|
Parámetro |
Descripción |
|
Task Name |
Nombre para esta tarea de DTS. DTS genera un nombre automáticamente. Utilice un nombre descriptivo para identificar la tarea. El nombre no necesita ser único. |
Base de datos de origen
|
Parámetro |
Descripción |
|
Select Existing Connection |
Si la instancia está registrada en DTS, selecciónela de la lista; DTS completará automáticamente los campos restantes. De lo contrario, configure los campos siguientes. Consulte Manage database connections. |
|
Database Type |
Seleccione MySQL. |
|
Access Method |
Seleccione Alibaba Cloud Instance. |
|
Instance Region |
Seleccione la región donde reside la instancia de RDS MySQL de origen. |
|
Replicate Data Across Alibaba Cloud Accounts |
Seleccione No si la instancia de origen pertenece a la cuenta actual de Alibaba Cloud. |
|
RDS Instance ID |
Seleccione el ID de la instancia de RDS MySQL de origen. |
|
Database Account |
Cuenta de base de datos para la instancia de origen. Consulte Requisitos para ver los permisos obligatorios. |
|
Database Password |
Contraseña de la cuenta de base de datos. |
|
Encryption |
Seleccione Non-encrypted o SSL-encrypted. Para usar cifrado SSL, habilite SSL en la instancia de RDS antes de configurar la tarea. |
Base de datos de destino
|
Parámetro |
Descripción |
|
Select Existing Connection |
Si la instancia está registrada en DTS, selecciónela de la lista. De lo contrario, configure los campos siguientes. |
|
Database Type |
Seleccione Tair/Redis. |
|
Access Method |
Seleccione Alibaba Cloud Instance. |
|
Instance Region |
Seleccione la región donde reside la instancia de Tair de destino (compatible con Redis OSS). |
|
Replicate Data Across Alibaba Cloud Accounts |
Seleccione No si la instancia de destino pertenece a la cuenta actual de Alibaba Cloud. |
|
Instance ID |
Seleccione el ID de la instancia de Tair de destino (compatible con Redis OSS). |
|
Authentication Method |
Seleccione un método de autenticación. En este ejemplo se utiliza Password Login. Account + Password Login requiere Redis 6.0 o posterior. Para Secret-free login, primero debe habilitar el acceso sin contraseña en la instancia; consulte Enable password-free access. |
|
Database Password |
Contraseña para conectarse a la instancia de destino. Utilice el formato |
Paso 3: Probar la conectividad
Haga clic en Test Connectivity and Proceed.
Las direcciones IP de los servidores de DTS deben agregarse a la configuración de seguridad (listas de permitidos) tanto de la base de datos de origen como de la de destino. Consulte Add DTS server IP addresses to a whitelist .
Paso 4: Configurar los objetos de migración
En la página Configure Objects, establezca las siguientes opciones.
|
Parámetro |
Descripción |
|
Migration Types |
Seleccione Full Data Migration para una carga única. Seleccione tanto Full Data Migration como Incremental Data Migration para mantener el destino sincronizado mientras se ejecuta la aplicación. Si selecciona solo la migración completa, evite escribir en el origen durante la migración para prevenir inconsistencia de datos. |
|
Processing Mode of Conflicting Tables |
Precheck and Report Errors: la comprobación previa verifica que el destino esté vacío. La tarea no inicia si se encuentran datos existentes. Ignore Errors and Proceed: omite la comprobación; los datos del origen sobrescriben cualquier clave del destino con nombres coincidentes. Esto puede causar pérdida de datos. |
|
Source Objects |
Seleccione uno o varios objetos en la sección Source Objects y luego haga clic en el icono de flecha para moverlos a Selected Objects. Los objetos pueden seleccionarse a nivel de base de datos, tabla o columna. |
|
Selected Objects |
Para asignar los datos migrados a un índice específico de DB de Redis, haga clic derecho sobre un esquema en Selected Objects y configure: Mapping Name of Redis/Tair Database (0 to 255) (el índice de DB de Redis que recibe los datos, solo numérico) y Cache Mapping Mode (el formato de clave para los datos migrados). Si selecciona Key-Value Model Based on Database, Table, and Primary Key, establezca también Value Separation Method. Para filtrar filas, haga clic derecho sobre la tabla y defina una cláusula WHERE. Consulte Set a filter condition. |
Haga clic en Next: Advanced Settings.
Paso 5: Configurar ajustes avanzados
|
Parámetro |
Descripción |
|
Dedicated Cluster for Task Scheduling |
De forma predeterminada, DTS programa las tareas en el clúster compartido. Para mayor estabilidad, adquiera un clúster dedicado. Consulte What is a DTS dedicated cluster. |
|
Retry Time for Failed Connections |
Tiempo durante el cual DTS reintenta la conexión cuando falla la comunicación con el origen o el destino. Rango válido: 10–1,440 minutos. Valor predeterminado: 720 minutos. Establezca un valor superior a 30 minutos. Si DTS se reconecta dentro de esta ventana, la tarea se reanuda; de lo contrario, falla. Nota: cuando DTS reintenta una conexión, se le cobra por la instancia de DTS. Configure este parámetro según sus necesidades empresariales y libere la instancia de DTS tan pronto como ya no necesite las instancias de origen y destino. |
|
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 Migration |
Limita la tasa de lectura/escritura durante la migración completa para reducir la carga en las bases de datos de origen y destino. 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 tasa durante la migración incremental de datos. Configure RPS of Incremental Data Migration y Data migration speed for incremental migration (MB/s). Disponible solo cuando se selecciona Incremental Data Migration. |
|
Cache Expiration Time |
TTL de las claves después de la migración. Establezca -1 para deshabilitar la caducidad (las claves nunca caducan). Un valor de -1 conlleva el riesgo de llenar la memoria de Redis y provocar errores en la tarea. |
|
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks |
Controla si DTS escribe SQL de tabla de latidos en el origen durante la ejecución. Yes: DTS no escribe operaciones SQL en las tablas de latidos. En este caso, podría mostrarse la latencia de migración. No: DTS escribe SQL de latidos, lo que podría afectar la copia de seguridad física y la clonación del origen. |
|
Environment Tag |
Etiqueta opcional para identificar el entorno (por ejemplo, producción o pruebas). |
|
Configure ETL |
Indica si se habilita la extracción, transformación y carga (ETL). Si se habilita, introduzca las sentencias de procesamiento de datos en el editor de código. Para detalles de configuración, consulte Configure ETL in a data migration or data synchronization task. Para una descripción general de la función, consulte What is ETL? |
|
Monitoring and Alerting |
Indica si se configuran alertas por fallos en la tarea o latencia que supere un umbral. Si se habilita, configure el umbral de alerta y la configuración de notificaciones. Consulte Configure monitoring and alerting. |
Paso 6: Ejecutar la comprobación previa
Haga clic en Next: Save Task Settings and Precheck.
Para previsualizar los parámetros de API de esta configuración de tarea, pase el puntero sobre Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters .
DTS ejecuta una comprobación previa antes de iniciar la tarea. Si alguna comprobación falla:
Haga clic en View Details junto al elemento fallido.
Corrija el problema basándose en los resultados de la comprobación.
Haga clic en Precheck Again.
Si aparece una alerta (advertencia no bloqueante):
Haga clic en Confirm Alert Details.
En el cuadro de diálogo View Details, haga clic en Ignore > OK.
Haga clic en Precheck Again.
Ignorar alertas puede resultar en inconsistencia de datos. Proceda con precaución.
Paso 7: Adquirir e iniciar la instancia
Espere hasta que Success Rate alcance 100% y luego haga clic en Next: Purchase Instance.
En la página Purchase Instance, configure los siguientes parámetros:
|
Parámetro |
Descripción |
|
Resource Group |
Resource group para la instancia de migración. Valor predeterminado: default resource group. Consulte What is Resource Management? |
|
Instance Class |
La clase de instancia determina la velocidad de migración. Consulte Instance classes of data migration instances. |
Lea y acepte los Data Transmission Service (Pay-as-you-go) Service Terms.
Haga clic en Buy and Start > OK.
Verificar el estado de la migración
Una vez iniciada la tarea, vaya a la página Data Migration para monitorear el progreso.
Solo migración completa de datos: la tarea se detiene automáticamente al finalizar. El estado muestra Completed.
Migración completa + incremental de datos: la tarea continúa ejecutándose después de la carga inicial y replica los cambios continuos del origen. El estado muestra Running.
Para consultar las versiones compatibles de bases de datos de origen y destino, véase Migration solutions overview .