Uso de CDM para migrar datos de AnalyticDB for MySQL a un clúster de DWS
Esta práctica demuestra cómo usar CDM para migrar datos de AnalyticDB for MySQL (ADB) a DWS.
CDM es un servicio eficiente y fácil de usar para la migración de datos por lotes. Para obtener más información, consulte Cloud Data Migration.
Esta práctica toma alrededor de 90 minutos y utiliza servicios en la nube como Virtual Private Cloud (VPC) and Subnet, Elastic IP (EIP), Cloud Data Migration (CDM) y DWS. El proceso básico es el siguiente:
Notas y restricciones
- Si se producen operaciones DELETE o UPDATE durante la migración de CDM, no se puede garantizar la consistencia de los datos después. En tales casos, se requerirá una remigración.
- Un único trabajo de migración de bases de datos puede migrar solo una base de datos a la vez. Para migrar varias bases de datos, debe configurar varios trabajos de migración.
- Debe crear bases de datos y esquemas que se sincronicen en el DWS de destino.
- En ADB, el nivel de base de datos corresponde al nivel de esquema en DWS.
Requisitos previos
- Ha comprado clústeres de DWS y CDM. Para obtener más información, consulte Guía del usuario de CDM.
- El clúster de ADB y el clúster de DWS pueden comunicarse con CDM. En este ejemplo, DWS y CDM se crean en la misma región, nube privada y subred.
- Tiene el permiso de migración.
- Se han instalado los clientes de origen y destino.
- La dirección IP del clúster de CDM se ha incluido en la lista blanca en los ajustes de seguridad de datos dentro del clúster de origen de ADB.
- Se han preparado las herramientas de migración enumeradas en Tabla 1: DSC y DataCheck.
- El entorno de tiempo de ejecución de DataCheck cumple con los siguientes requerimientos:
- El servidor es compatible con sistemas operativos de 64 bits y puede ejecutarse en Linux o Windows.
- Se ha instalado JDK o JRE 1.8 en el sistema.
- El servidor donde se instala y ejecuta DataCheck puede comunicarse con la base de datos que se va a conectar.
| Herramientas | Descripción | Cómo obtenerla |
|---|---|---|
| DSC | Herramienta de migración de sintaxis para DWS | Obtenga el enlace de descarga. |
| DataCheck | Herramienta de verificación de datos | Póngase en contacto con el soporte técnico. |
Paso 1: Migración de metadatos
- Exporte la sintaxis de origen. La exportación de la sintaxis de origen, que representa la lógica de implementación de los servicios del cliente, desde ADB y su modificación para que sea compatible con DWS puede reducir la carga de trabajo de modelado y mejorar la eficiencia de la migración de servicios.
Para ello, seleccione la base de datos de destino en la consola de ADB, elija Export > Export Table Creation Statements y guarde DDL_migration.sql.
Dado que la sintaxis de origen implica la identificación del alcance del servicio, las operaciones requieren un DBA familiarizado con el servicio. Se recomienda que la sintaxis de origen sea proporcionada por el DBA del cliente.
- Utilice la herramienta DSC para convertir la sintaxis DDL.
- Descomprima el paquete de la herramienta DSC obtenido en Requisitos previos.
- Guarde los archivos de sintaxis DDL que se convertirán en la carpeta input de DSC. Figura 2 Directorio input
- Abra la herramienta de línea de comandos y haga doble clic en runDSC.bat en Windows. Ejecute runDSC.sh en Linux.
- Convierta la sintaxis:
1runDSC.bat -S mysql
Figura 3 Conversión DDL
- Vea el resultado de la conversión en la carpeta output. Figura 4 Resultado de la conversión DDL
- Conéctese a DWS y ejecute la sentencia SQL siguiente para crear una base de datos de destino, que en esta práctica es migration.
1CREATE DATABASE database_name WITH ENCODING 'UTF-8' DBCOMPATIBILITY 'mysql' TEMPLATE template0;
- El concepto de una base de datos en ADB es equivalente al concepto de un esquema en DWS. Se debe crear un esquema en la base de datos de destino de DWS. Primero, cambie a la base de datos recién creada y, a continuación, ejecute la siguiente sentencia SQL para crear un esquema.
1CREATE SCHEMA schema_name;
- En la ventana del editor SQL de DWS, seleccione la base de datos y el esquema creados y haga clic en Import para importar la sentencia de creación de tabla convertida en 2. Figura 5 Importación de sentencias DDL
- Después de la importación, haga clic en el botón run para ejecutar la sentencia SQL para crear una tabla.
- Verifique si la tabla se ha creado:
1SELECT table_name FROM information_schema.tables WHERE table_schema = 'migration';
Paso 2: Migración de datos de tablas
- Configure el enlace de origen para CDM.
- Inicie sesión en la consola de CDM. En el panel de navegación, haga clic en Cluster Management.
- Si CDM está conectado a ADB a través de la red pública, vincule una EIP. Para obtener más información, consulte Vinculación o desvinculación de una EIP.
- Haga clic en Job Management junto al nombre del clúster.
- Antes de establecer un enlace de trabajo por primera vez, instale el controlador. Seleccione Links > Driver Management e instale el controlador de MySQL.
- Después de instalar el controlador, haga clic en Create Link en la página de gestión de enlaces, seleccione MySQL y, a continuación, haga clic en Next.
- Ingrese la información de la base de datos de ADB. Figura 6 Información de ADB
- Haga clic en Test para comprobar la conectividad y, a continuación, haga clic en Save.
- Configure el enlace de destino para CDM.
- De manera similar, elija Job Management > Links y haga clic en Create Link.
- Seleccione Data Warehouse Service y haga clic en Next.
- Ingrese la información de la base de datos de DWS. Figura 7 Información de DWS
- Haga clic en Test para comprobar la conectividad y, a continuación, haga clic en Save.
- Configure y comience un trabajo de migración a nivel de tabla.
- Haga clic en la pestaña Table/File Migration. Esta pestaña muestra los trabajos de migración de una sola tabla.
- Ingrese la información de origen y destino.
- Job Name: Ingrese un nombre único.
- Source Job Configuration
- Source Link Name: Seleccione el enlace de origen de MySQL creado.
- Use SQL Statement: Seleccione No.
- Schema/Tablespace: Seleccione el nombre del esquema o tablespace del que se extraerán los datos.
- Table Name: Seleccione el nombre de la tabla de la que se extraerán los datos.
- Mantenga la configuración predeterminada para otros parámetros.
- Destination Job Configuration
- Destination Link Name: Seleccione el enlace de destino de DWS creado.
- Schema/Tablespace: Seleccione la base de datos de DWS en la que se escribirán los datos.
- Auto Table Creation: Este parámetro se muestra solo cuando tanto el origen como el destino de la migración son bases de datos relacionales.
- Table Name: Seleccione el nombre de la tabla en la que se escribirán los datos. También puede ingresar un nombre de tabla que no existe. CDM crea automáticamente la tabla en DWS.
- Clear Data Before Import: Especifique si se deben borrar los datos de la tabla de destino antes de que comience la tarea de migración.
- Haga clic en Next para mapear campos.
- Si el mapeo de campos es incorrecto, puede arrastrar los campos para ajustar el mapeo.
- Las expresiones de CDM tienen la capacidad integrada de convertir campos de cadenas, fechas y números comunes. Para obtener más información, consulte Configuración de convertidores de campos.
- Confirme la información y haga clic en Next.
- En la página de configuración de tareas, configure los siguientes parámetros:
- Retry Upon Failure: Si el trabajo no se puede ejecutar, puede determinar si se debe volver a intentar automáticamente. Conservar el valor predeterminado Nunca.
- Grupo: Seleccione el grupo al que pertenece el trabajo. El grupo predeterminado es DEFAULT. En la página Job Management, los trabajos se pueden mostrar, iniciar o exportar por grupo.
- Schedule Execution: Para configurar trabajos programados, habilite esta función. Conservar el valor predeterminado No.
- Concurrent Extractors: Indica los datos extraídos simultáneamente. El valor predeterminado es 1, pero puede aumentarlo. Sin embargo, se recomienda mantenerlo en 4 o menos.
- Write Dirty Data: Es posible que se generen datos incorrectos durante la migración de datos entre tablas. Se recomienda seleccionar Yes.
- Confirme la información y haga clic en Save and Run.
Una vez iniciado el trabajo de migración, puede ver el estado en la lista de trabajos.
- Configure e inicie un trabajo de migración a nivel de base de datos.
- Haga clic en la pestaña Entire DB Migration y haga clic en Create Job.
- Ingrese la información de origen a la izquierda y la información de destino a la derecha.
- Job Name: Ingrese un nombre único.
- Source Job Configuration
- Source Link Name: Seleccione el enlace de origen de MySQL creado.
- Use SQL Statement: Seleccione No.
- Schema/Tablespace: Seleccione el nombre del esquema o tablespace del que se extraerán los datos.
- Table Name: Seleccione el nombre de la tabla de la que se extraerán los datos.
- Mantenga la configuración predeterminada para otros parámetros.
- Destination Job Configuration
- Destination Link Name: Seleccione el enlace de destino de DWS creado.
- Schema/Tablespace: Seleccione la base de datos de DWS en la que se escribirán los datos.
- Auto Table Creation: Este parámetro se muestra solo cuando tanto el origen como el destino de la migración son bases de datos relacionales.
- Clear Data Before Import: Especifique si se deben borrar los datos de la tabla de destino antes de que comience la tarea de migración.
- Haga clic en Next.
- Seleccione todas las tablas o las tablas que desea migrar, haga clic en la flecha derecha en el medio para moverlas al panel derecho y, a continuación, haga clic en Next.
- Configure los parámetros del trabajo.
- Concurrent Subjobs: Indica la cantidad de tablas que se migrarán simultáneamente. El valor predeterminado es 10; se recomienda configurarlo en un valor inferior a 5.
- Concurrent Extractors: Indica los datos extraídos simultáneamente. El valor predeterminado es 1, pero puede aumentarlo. Sin embargo, se recomienda mantenerlo en 4 o menos.
Confirme la información y haga clic en Save and Run.
- Espere hasta que se complete el trabajo de migración. Haga clic en el nombre del trabajo para ver el estado de migración de cada tabla.
- Conéctese a DWS y ejecute las siguientes sentencias SQL para verificar si los datos se han migrado:
1 2 3 4
SELECT 'migration.users',count(1) FROM migration.users UNION ALL SELECT 'migration.products',count(1) FROM migration.products UNION ALL SELECT 'migration.orders',count(1) FROM migration.orders UNION ALL SELECT 'migration.employees',count(1) FROM migration.employees;
Paso 3: Verificación de consistencia de datos
Después de la migración, verifique si los datos de las bases de datos de origen y destino son consistentes mediante DataCheck.
- Descargue y descomprima DataCheck-*.zip y, a continuación, vaya al directorio DataCheck-* para utilizarlo. Para obtener más información sobre cómo utilizar los archivos del directorio, consulte Tabla 2.
- Configure el paquete de herramientas.
- En Windows:
Abra el archivo dbinfo.properties en la carpeta conf y configúrelo según sus necesidades reales.
Puede utilizar el comando siguiente en la herramienta para generar el texto cifrado de src.passwd y dws.passwd.
encryption.bat password

Después de ejecutar el comando, se genera un archivo cifrado en el directorio local bin.

- En Linux:
El método de generación del texto cifrado es similar al de Windows. El comando es sh encryption.sh Password. Los demás pasos son los mismos.

- En Windows:
- Verifique los datos.
En Windows:
- Abra el archivo check.input, ingrese las bases de datos (si no se ingresan, se utiliza el contenido del archivo conf), la tabla de origen y la tabla de destino que se van a verificar, y complete Row Range con una sentencia de consulta de datos para especificar el alcance de la consulta.
- Después de configurar el nombre de la base de datos de origen en el archivo de configuración, el nombre de la base de datos de origen en el archivo check.input es este por defecto. Sin embargo, si se especifica un nombre de base de datos de origen diferente en el archivo check.input, este tendrá prioridad.
- El Check Strategy ofrece tres niveles: high, medium y low. Si no se especifica, el valor predeterminado es low.
La siguiente figura muestra el archivo check_input para la comparación de metadatos.
Figura 8 check_input
- Ejecute el comando datacheck.bat en el directorio bin para ejecutar la herramienta de verificación.

- Vea el archivo de resultados de la verificación generado check_input_result.xlsx.
En Linux:
- Edite y cargue el archivo check_input.xlsx. Consulte el paso 1 para Windows.
- Ejecute el comando sh datacheck.sh para ejecutar la herramienta de verificación.

- Vea el resultado de la verificación en el archivo check_input_result.xlsx. (El análisis del resultado de la verificación es el mismo que para Windows).
- Abra el archivo check.input, ingrese las bases de datos (si no se ingresan, se utiliza el contenido del archivo conf), la tabla de origen y la tabla de destino que se van a verificar, y complete Row Range con una sentencia de consulta de datos para especificar el alcance de la consulta.
Información relacionada
| Archivo o carpeta | Descripción | |
|---|---|---|
| DataCheck | bin | Guarda el script de entrada de la herramienta de verificación.
|
| conf | Archivo de configuración, que se utiliza para configurar la conexión entre la base de datos de origen y la base de datos de destino y establecer la impresión de registros. | |
| lib | Almacena los paquetes JAR necesarios para ejecutar la herramienta de verificación. | |
| check_input.xlsx |
| |
| logs | El paquete no incluye este archivo. Una vez que se ejecuta la herramienta de verificación, genera automáticamente este archivo para registrar el proceso de ejecución de la herramienta. | |
| check_input_result.xlsx | El paquete no incluye este archivo. Una vez que se ejecuta la herramienta de verificación, se creará un archivo de resultados de verificación en la misma ubicación que check_input.xlsx. | |
| DataCheck |
|---|
|
| Nivel de verificación | Descripción | Sintaxis |
|---|---|---|
| Low |
|
|
| Middle |
|
|
| High |
|
|