Conversión de esquemas de base de datos mediante AWS SCT - AWS Schema Conversion Tool

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Conversión de esquemas de base de datos mediante AWS SCT

Puede utilizar la AWS Schema Conversion Tool (AWS SCT) para convertir sus esquemas de base de datos existente de un motor de base de datos a otro. La conversión de una base de datos con la interfaz de usuario de AWS SCT puede ser bastante sencillo, pero hay varios aspectos que se deben tener en cuenta antes de realizar la conversión.

Por ejemplo, puede utilizar AWS SCT para hacer lo siguiente:

  • También puede utilizar AWS SCT para copiar un esquema de base de datos en las instalaciones existente a una instancia de base de datos de Amazon RDS que ejecute el mismo motor. Puede utilizar esta característica para analizar posibles ahorros de costos en la migración a la nube y en el cambio del tipo de licencia.

  • En algunos casos, las características de la base de datos de origen no se pueden convertir a características de Amazon RDS equivalentes. Si aloja y autoadministra una base de datos en la plataforma de Amazon Elastic Compute Cloud (Amazon EC2), puede simular estas características sustituyendo los servicios de AWS por ellas.

  • AWS SCT automatiza gran parte del proceso de conversión de su esquema de base de datos de procesamiento de transacciones online (OLTP) a una instancia de base de datos MySQL de Amazon Relational Database Service (Amazon RDS), un clúster de base de datos de Amazon Aurora o una instancia de base de datos PostgreSQL. Los motores de base de datos de origen y de destino contienen diferentes características y capacidades, por lo que AWS SCT intenta crear un esquema equivalente en su instancia de base de datos de Amazon RD siempre que sea posible. Si no es posible la conversión directa, la AWS SCT proporciona una lista de posibles acciones que puede realizar.

AWS SCT admite las siguientes conversiones de procesamiento de transacciones en línea (OLTP).

Base de datos de origen Bases de datos de destino

IBM Db2 para z/OS (versión 12)

Amazon Aurora MySQL-Compatible Edition (Aurora MySQL), Amazon Aurora PostgreSQL-Compatible Edition (Aurora PostgreSQL), MySQL, PostgreSQL

IBM Db2 LUW (versiones 9.1, 9.5, 9.7, 10.5, 11.1 y 11.5)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, PostgreSQL

Microsoft Azure SQL Database

Aurora MySQL, Aurora PostgreSQL, MySQL, PostgreSQL

Microsoft SQL Server (versión 2008 R2 y posteriores)

Aurora MySQL, Aurora PostgreSQL, Babelfish para Aurora PostgreSQL, MariaDB, Microsoft SQL Server, MySQL, PostgreSQL

MySQL (versión 5.5 y posteriores)

Aurora PostgreSQL, MySQL, PostgreSQL

Puede migrar esquemas y datos de MySQL a un clúster de base de datos de Aurora MySQL sin usar AWS SCT. Para obtener más información, consulte Migrar datos a un clúster de base de datos de Amazon Aurora.

Oracle (versión 10.2 y posteriores)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, Oracle, PostgreSQL

PostgreSQL (versión 9.1 y posterior)

Aurora MySQL, Aurora PostgreSQL, MySQL, PostgreSQL

SAP ASE (12.5, 15.0, 15.5, 15.7 y 16.0)

Aurora MySQL, Aurora PostgreSQL, MariaDB, MySQL, PostgreSQL

Para obtener más información acerca de la conversión de un esquema de almacenamiento de datos, consulte Convertir esquemas de almacenamiento de datos a Amazon Redshift mediante AWS SCT.

Para convertir su esquema de base de datos a Amazon RDS, siga estos pasos de alto nivel:

  • Crear reglas de migración en AWS SCT: antes de convertir su esquema con AWS SCT, puede configurar reglas que cambien el tipo de datos de las columnas, mover objetos de un esquema a otro y cambiar los nombres de los objetos.

  • Convertir su esquema con AWS SCT: AWS SCT crea una versión local del esquema convertido para que lo revise, pero no se aplica a su instancia de base de datos de destino hasta que esté listo.

  • Crear informes de evaluación de migración con AWS SCT: AWS SCT crea un informe de evaluación de la migración de la base de datos en el que se detallen los elementos del esquema que no se pueden convertir automáticamente. Puede utilizar este informe para identificar dónde necesita crear un esquema en su instancia de base de datos de Amazon RDS que sea compatible con su base de datos de origen.

  • Administrar conversiones manuales en AWS SCT: si tiene elementos del esquema que no se pueden convertir automáticamente, dispone de dos opciones: actualizar el esquema de origen y, a continuación, volver a convertirlo, o bien crear elementos de esquema equivalentes en su instancia de base de datos de Amazon RDS de destino.

  • Actualizar un esquema convertido en AWS SCT: puede actualizar el proyecto de AWS SCT con el esquema más reciente de su base de datos de origen.

  • Guardar y aplicar un esquema convertido en AWS SCT: cuando esté listo, haga que AWS SCT aplique el esquema convertido en su proyecto local a su instancia de base de datos de Amazon RDS de destino.

Crear reglas de migración en AWS SCT

Antes de convertir el esquema con AWS SCT, puede configurar las reglas de migración. Las reglas de migración en AWS SCT pueden realizar transformaciones tales como cambiar el tipo de datos de las columnas, mover objetos de un esquema a otro y cambiar los nombres de los objetos. Por ejemplo, suponga que tiene un conjunto de tablas en el esquema de origen denominado test_TABLE_NAME. Puede configurar una regla que cambie el prefijo test_ por el prefijo demo_ del esquema de destino.

nota

Solo puede crear reglas de migración para motores de bases de datos de origen y destino diferentes.

Puede crear reglas de migración que realicen las siguientes tareas:

  • Agregar, eliminar o reemplazar un prefijo

  • Agregar, eliminar o reemplazar un sufijo

  • Cambiar intercalación de columnas

  • Cambiar el tipo de datos

  • Cambiar la longitud de char, varchar, nvarchar, y los tipos de datos string

  • Mover objetos

  • Cambiar el nombre de los objetos

Puede crear reglas de migración para los siguientes objetos:

  • Base de datos

  • Esquema

  • Tabla

  • Columna

Creación de reglas de migración

Puede crear reglas de migración y guardarlas como parte de su proyecto. Con el proyecto abierto, utilice el siguiente procedimiento para crear reglas de migración.

Para crear reglas de migración
  1. En el menú Ver, seleccione Vista principal.

  2. En Asignaciones de servidores, elija un par de servidores de origen y de destino.

  3. Elija Regla de migración nueva. Aparecerá el cuadro de diálogo Reglas de transformación.

  4. Seleccione Add new rule. Se agregará una nueva fila a la lista de reglas.

  5. Configure su regla:

    1. En Name (Nombre), ingrese un nombre para la regla.

    2. En For, seleccione el tipo de objeto al que se aplicará la regla.

    3. En where, introduzca un filtro que se aplicará a los objetos antes de aplicar la regla de migración. La cláusula where se evalúa mediante una cláusula like. Puede especificar un nombre exacto para seleccionar un objeto o introducir un patrón para seleccionar varios objetos.

      Los campos disponibles para la cláusula where son diferentes en función del tipo de objeto. Por ejemplo, si el tipo de objeto es esquema, solo habrá un campo disponible, para el nombre del esquema.

    4. En Acciones, seleccione el tipo de regla de migración que quiera crear.

    5. En función del tipo de regla, introduzca uno o dos valores adicionales. Por ejemplo, para cambiar el nombre de un objeto, introduzca el nuevo nombre del objeto. Para sustituir un prefijo, introduzca el prefijo anterior y el nuevo prefijo.

      Para los tipos de datos char, varchar, nvarchar y string, puede cambiar la longitud del tipo de datos mediante el operador de multiplicación. Por ejemplo, el valor %*4 transforma el tipo de datos varchar(10) en varchar(40).

  6. Tras haber configurado su regla de migración, seleccione Guardar para guardar su regla. También puede seleccionar Cancel para cancelar los cambios.

    El cuadro de diálogo Reglas de transformación
  7. Cuando haya acabado de agregar, editar y eliminar reglas, seleccione Save All para guardar todos los cambios.

  8. Seleccione Cerrar para cerrar el cuadro de diálogo Reglas de transformación.

Puede utilizar el icono de alternar para desactivar una regla de migración sin eliminarla. Puede utilizar el icono de copia para duplicar una regla de migración existente. Puede utilizar el icono del lapicero para editar una regla de migración existente. Puede utilizar el icono de eliminar para borrar una regla de migración existente. Para guardar los cambios que realice en sus reglas de migración, seleccione Guardar todo.

Exportar reglas de migración

Si utiliza AWS DMS para migrar sus datos de la base de datos de origen a la de destino, puede proporcionar información sobre sus reglas de migración a AWS DMS. Para obtener más información sobre las tareas, consulte Trabajar con tareas de replicación de AWS Database Migration Service.

Para exportar reglas de migración
  1. En AWS Schema Conversion Tool, seleccione Vista de asignaciones en el menú Vista.

  2. En Reglas de migración, elija una regla de migración y, a continuación, elija Modificar regla de migración.

  3. Elija Exportar script para AWS DMS.

  4. Seleccione la ubicación en la que desee guardar el script y después seleccione Save. Su reglas de migración se guardan como un script JSON que AWS DMS puede consumir.

Convertir su esquema con AWS SCT

Tras haber conectado su proyecto tanto a la base de datos de origen como a la instancia de base de datos de Amazon RDS de destino, su proyecto de AWS Schema Conversion Tool mostrará el esquema de su base de datos de origen en el panel izquierdo. El esquema se presentan en un formato de vista de árbol y cada nodo del árbol se carga progresivamente. Al seleccionar un nodo en la vista de árbol, AWS SCT solicita la información del esquema de la base de datos de origen en ese momento.

Puede seleccionar elementos del esquema en su base de datos de origen y, después, convertir el esquema en un esquema equivalente para el motor de la base de datos de su instancia de base de datos de destino. Puede seleccionar cualquier elemento del esquema en su base de datos de origen para convertirlo. Si el elemento del esquema que seleccione depende de un elemento principal, AWS SCT generará también el esquema para el elemento principal. Por ejemplo, suponga que elige una tabla para convertir. Si es así, AWS SCT genera el esquema de la tabla y la base de datos en la que se encuentra la tabla.

Convertir esquemas

Para convertir un esquema de la base de datos de origen, active la casilla de verificación del nombre del esquema que desee convertir. A continuación, seleccione este esquema en el panel izquierdo de su proyecto. AWS SCT resalta el nombre del esquema en azul. Abra el menú contextual (clic secundario) para el esquema y seleccione Convertir esquemas, como se muestra a continuación.

Convert schema (Convertir esquema)

Una vez que haya convertido el esquema de su base de datos de origen, puede elegir los elementos del esquema en el panel izquierdo de su proyecto y ver el esquema convertido en los paneles centrales de su proyecto. El panel inferior central muestra las propiedades y el comando SQL para crear el esquema convertido, como se muestra a continuación.

Selección del elemento del esquema de origen

Tras haber convertido el esquema, podrá guardar el proyecto. La información del esquema de su base de datos de origen se guarda con su proyecto. Esta funcionalidad supone que puede trabajar sin conexión sin estar conectado a su base de datos de origen. AWS SCT se conecta a su base de datos de origen para actualizar el esquema en su proyecto si selecciona Refresh from Database (Actualizar desde base de datos) para su base de datos de origen. Para obtener más información, consulte Actualizar un esquema convertido en AWS SCT.

Puede crear un informe de evaluación de la migración de la base de datos para los elementos que no se puedan convertir automáticamente. El informe de evaluación es útil para identificar y solucionar los elementos del esquema que no se puedan convertir automáticamente. Para obtener más información, consulte Crear informes de evaluación de migración con AWS SCT.

Cuando la AWS SCT genera un esquema convertido, no se aplica inmediatamente a la instancia de base de datos de destino. El esquema convertido se almacena en el entorno local hasta que esté listo para aplicarlo en la instancia de base de datos de destino. Para obtener más información, consulte Aplicación del esquema convertido.

Editar esquemas convertidos

Puede editar el esquema convertido y guardar los cambios como parte de su proyecto.

Para editar el esquema convertido
  1. En el panel izquierdo que indica el esquema de la base de datos de origen, seleccione el elemento del esquema para el que quiera editar el esquema convertido.

  2. En el panel inferior central donde se muestra el esquema convertido para el elemento seleccionado, haga clic en la pestaña SQL.

  3. En el texto mostrado para la pestaña SQL, cambie el esquema según sea necesario. El esquema se guardará automáticamente con su proyecto cuando lo actualice.

    Actualización del esquema desde la instancia de base de datos de destino

Los cambios que realice al esquema convertido se almacenan con su proyecto a medida que realiza las actualizaciones. Si convierte un nuevo elemento de un esquema desde su base de datos de origen y ha realizado actualizaciones al esquema previamente convertido para ese elemento, dichas actualizaciones existentes se verán sustituidas por el elemento del esquema recientemente convertido, en función de su base de datos de origen.

Eliminar un esquema convertido

Hasta aplicar el esquema a su instancia de base de datos de destino, la AWS SCT solo almacena el esquema convertido localmente en su proyecto. Puede eliminar el esquema planificado de su proyecto si selecciona el nodo de vista en árbol para su instancia de base de datos y, a continuación, hace clic en Actualizar desde base de datos. Dado que no se ha escrito ningún esquema en su instancia de base de datos de destino, la actualización desde la base de datos eliminará los elementos del esquema planificado en su proyecto de AWS SCT para adaptarse a lo que exista en su instancia de base de datos de destino.

Administrar conversiones manuales en AWS SCT

El informe de evaluación incluye una lista de los elementos que no se pueden convertir automáticamente en el motor de base de datos de su instancia de base de datos de Amazon RDS de destino. Para cada elemento que no se puede convertir, hay un elemento de acción en la pestaña Action Items.

Puede responder a los elementos de acción del informe de evaluación de las siguientes formas:

  • Modificar su esquema de base de datos de origen.

  • Modificar su esquema de base de datos de destino.

Modificar su esquema de origen

Para algunos elementos, es posible que resulte más fácil modificar el esquema de base de datos en un esquema de base de datos de origen que lograr que se convierta automáticamente. En primer lugar, verifique que los nuevos cambios son compatibles con la arquitectura de su aplicación y, a continuación, actualice el esquema en la base de datos de origen. Por último, actualice su proyecto con la información de esquema actualizada. Después, puede convertir el esquema actualizado y generar de nuevo el informe de evaluación de la migración de la base de datos. Los elementos de acción ya no aparecen para los elementos que hayan cambiado en el esquema de origen.

La ventaja de este proceso es que el esquema actualizado está siempre disponible al actualizar desde la base de datos de origen.

Modificar su esquema de destino

Para algunos elementos, puede que sea más sencillo aplicar el esquema convertido a la base de datos de destino y, a continuación, agregar manualmente los elementos de esquema equivalentes a la base de datos de destino para los elementos que no se hayan podido convertir automáticamente. Puede escribir todo el esquema que se pueda convertir automáticamente en su instancia de base de datos de destino aplicando el esquema. Para obtener más información, consulte Guardar y aplicar un esquema convertido en AWS SCT.

El esquema que escrito en la instancia de base de datos de destino no contendrá los elementos que no se hayan podido convertir automáticamente. Después de aplicar esquemas a la instancia de base de datos de destino, puede crear manualmente esquemas en dicha instancia que sean equivalentes a los de la base de datos de origen. Los elementos de acción en el informe de evaluación de la migración de la base de datos contienen sugerencias sobre cómo crear un esquema equivalente.

aviso

Si crea manualmente esquemas en su instancia de base de datos de destino, guarde una copia de cualquier operación manual que haya realizado. Si aplica el esquema convertido desde su proyecto a su instancia de base de datos de destino de nuevo, se sobrescribirá el trabajo manual que haya realizado.

En algunos casos, no podrá crear un esquema equivalente en la instancia de base de datos de destino. Tal vez tenga que rediseñar una parte de la aplicación y de la base de datos para usar la funcionalidad disponible en el motor de base de datos para la instancia de base de datos de destino. En otros casos, puede omitir simplemente el esquema que no se pueda convertir automáticamente.

Actualizar un esquema convertido en AWS SCT

Puede actualizar el esquema de origen y el esquema de destino en su proyecto de AWS Schema Conversion Tool.

  • Origen: si actualiza el esquema para su base de datos de origen, AWS SCT sustituye el esquema de su proyecto con el último esquema de su base de datos de origen. Con esta funcionalidad, puede actualizar su proyecto si se ha modificado el esquema de la base de datos de origen.

  • Destino: si actualiza el esquema para su instancia de base de datos de Amazon RDS de destino, AWS SCT sustituye el esquema de su proyecto por el último esquema de su instancia de base de datos de destino. Si no ha aplicado ningún esquema a su instancia de base de datos de destino, AWS SCT elimina el esquema convertido de su proyecto. A continuación, puede convertir el esquema de la base de datos de origen a una instancia de base de datos de destino limpia.

El esquema en su proyecto de la AWS SCT se actualiza seleccionando Actualizar desde base de datos, como se muestra a continuación.

nota

Al actualizar el esquema, AWS SCT carga los metadatos solo cuando son necesarios. Para cargar completamente todo el esquema de la base de datos, abra el menú contextual (clic secundario) del esquema y elija Cargar esquema. Por ejemplo, puede usar esta opción para cargar todos los metadatos de la base de datos de una sola vez y, a continuación, trabajar sin conexión.

Guardar y aplicar un esquema convertido en AWS SCT

Cuando la AWS Schema Conversion Tool genera un esquema convertido (tal y como se muestra en Convertir su esquema con AWS SCT), no aplica inmediatamente el esquema convertido a la instancia de base de datos de destino. Los esquemas convertidos se almacenan en el entorno local de su proyecto hasta que esté listo para aplicarlos en la instancia de base de datos de destino. Con esta funcionalidad, puede trabajar con los elementos de esquema que no se puedan convertir automáticamente en su motor de base de datos de destino. Para obtener más información sobre elementos que no se pueden convertir automáticamente, consulte Crear informes de evaluación de migración con AWS SCT.

Si lo desea, puede hacer que la herramienta guarde su esquema convertido en un archivo como script SQL antes de aplicar el esquema a su instancia de base de datos de destino. También puede hacer que la herramienta aplique el esquema convertido directamente a su instancia de base de datos de destino.

Guardar el esquema convertido en un archivo

Puede guardar los esquemas convertidos como scripts SQL en un archivo de texto. Al utilizar este enfoque, puede modificar los scripts SQL generados en la AWS SCT para abordar los elementos que no puedan convertirse automáticamente. A continuación, puede ejecutar sus scripts actualizados en su instancia de base de datos de destino para aplicar el esquema convertido a la base de datos de destino.

Para guardar el esquema convertido como scripts de SQL
  1. Elija su esquema y abra el menú contextual (clic secundario).

  2. Elija Guardar como SQL.

  3. Introduzca el nombre del archivo y seleccione Guardar.

  4. Guarde el esquema convertido si opta por una de las opciones siguientes:

    • Archivo único

    • Archivo único por fase

    • Archivo único por instrucción

Para elegir el formato del script de SQL
  1. En el menú Configuración, seleccione Configuración del proyecto.

  2. Seleccione Guardar scripts.

  3. En Proveedor, elija la plataforma de base de datos.

  4. En Guardar scripts de SQL en, elija cómo desea guardar el script de esquema de base de datos.

  5. Seleccione Aceptar para guardar la configuración.

Aplicación del esquema convertido

Cuando esté listo para aplicar el esquema convertido a la instancia de base de datos de Amazon RDS de destino, elija el elemento del esquema en el panel derecho del proyecto. Abra el menú contextual (clic con el botón secundario) del elemento del esquema y seleccione Apply to database, como se muestra a continuación.

Apply to database (Aplicar a base de datos)

Esquema del paquete de extensión

La primera vez que aplique el esquema convertido a su instancia de base de datos de destino, la AWS SCT agrega un esquema adicional a su instancia de base de datos de destino. Este esquema implementa las funciones del esquema de la base de datos que son necesarias a la hora de escribir el esquema convertido en la instancia de base de datos de destino. El esquema se denomina esquema de paquete de extensión.

No modifique el esquema del paquete de extensión, ya que podría encontrarse resultados imprevistos en el esquema convertido creado en la instancia de base de datos de destino. Cuando el esquema haya migrado totalmente a su instancia de base de datos de destino y ya no necesite la AWS SCT, puede eliminar el esquema del paquete de extensión.

El esquema de paquete de extensión se denomina en función de su base de datos de origen, de la siguiente manera:

  • IBM Db2 LUW: aws_db2_ext

  • Microsoft SQL Server: aws_sqlserver_ext

  • MySQL: aws_mysql_ext

  • Oracle: aws_oracle_ext

  • PostgreSQL: aws_postgresql_ext

  • SAP ASE: aws_sapase_ext

Para obtener más información, consulte Uso de las AWS Lambda funciones del paquete de AWS SCT extensión .