Herramienta de migración de bases de datos

Conversión de datos de una base de datos a otra

  • Migraciones de datos entre bases de datos
  • Compatibilidad con las principales bases de datos relacionales
  • Conversión de bases de datos SQL en NoSQL
  • Asignación de datos gráfica y sin código
  • Configuración de claves de BD
  • Asignación de columnas con diferentes nombres, tipos y estructuras
  • Posibilidad de definir acciones de tabla de la BD
  • Compatibilidad con procedimientos almacenados SQL
  • Registro de resultados y gestión de errores con función de recuperación
  • Consulta directa en la base de datos
  • Clasificación y filtrado de componentes de entrada de base de datos
  • Conversión inmediata y opciones de automatización asequibles

Herramientas de migración de bases de datos

La transferencia de datos de una base de datos a otra es una de las tareas más habituales en la gestión de datos, ya sea para consolidar sistemas tras una fusión, retirar una plataforma obsoleta, estandarizar el uso de un único proveedor de bases de datos o trasladar una base de datos de escritorio a una base de datos de servidor. Altova MapForce es una herramienta de migración de bases de datos que gestiona estas conversiones a través de una interfaz visual gráfica, por lo que no necesita escribir scripts de migración a mano.

MapForce se conecta a sus bases de datos de origen y de destino, lee ambos esquemas automáticamente y le permite definir las reglas de migración trazando conexiones entre las tablas y las columnas de cada lado. Dado que el origen y el destino se asignan de forma explícita, no está limitado a esquemas idénticos: puede cambiar el nombre de las columnas, dividir o combinar campos, convertir tipos de datos, filtrar filas y remodelar la estructura de destino como parte de la misma migración.

Bases de datos relacionales compatibles:

  • Firebird
  • IBM DB2 for iSeries®
  • IBM DB2®
  • Informix®
  • MariaDB
  • Microsoft Access™
  • Microsoft® Azure SQL
  • Microsoft® SQL Server®
  • MySQL®
  • Oracle®
  • PostgreSQL
  • Progress OpenEdge
  • SQLite
  • Sybase® ASE
  • Teradata

Bases de datos NoSQL compatibles:

  • MongoDB
  • CouchDB
  • Microsoft Azure Cosmos DB

Cualquier base de datos compatible puede actuar como origen, como destino o como ambos. Esto significa que la misma herramienta abarca todas las combinaciones de origen y destino de la lista anterior, en lugar de una única ruta de migración fija.

Cómo funciona la conversión de una base de datos en otra

Es fácil definir un proyecto de migración de bases de datos utilizando las herramientas visuales de asignación de datos mediante funciones de arrastrar y colocar de MapForce. Incluso puede empezar con Altova AI para obtener sugerencias de conexiones tras cargar sus estructuras de origen y destino.

1. Conectarse a la base de datos de origen. El Asistente para la conexión a bases de datos le guía paso a paso a lo largo del proceso de conexión. Las conexiones SQLite se admiten como conexiones nativas y directas al archivo de la base de datos, sin necesidad de controladores adicionales. Otras bases de datos se conectan de forma nativa o a través de interfaces estándar, como ODBC, JDBC, ADO y ADO.NET.

 

Connect to database for conversion

 

2. Conectarse a la base de datos de destino. MapForce carga el esquema de destino de la misma manera y muestra las tablas, las vistas y las relaciones disponibles.

3. Crear asignaciones entre las tablas y las columnas. Arrastre las líneas de conexión desde el origen hasta el destino, o comience con Altova AI. MapForce reconoce automáticamente las relaciones entre tablas, por lo que las tablas relacionadas conservan su estructura en la asignación.

4. Transformar los datos según lo que se necesite. Inserte filtros, condiciones y funciones de procesamiento de datos entre el origen y el destino para convertir tipos, reformatear valores, concatenar o dividir campos y excluir las filas que no desee migrar.

 

Database migration in MapForce

 

5. Obtener una vista previa y ejecutar. El motor de tranformación integrado de MapForce le permite obtener una vista previa de los scripts SQL (las instrucciones SELECT, INSERT, UPDATE y DELETE) en la pestaña Resultados antes de ejecutarlos en la base de datos de destino.

Vista previa del resultado SQL para la migración de bases de datos en MapForce

Rutas de migración

A continuación se describen algunas de las tareas de migración de una base de datos a otra que se solicitan con mayor frecuencia. Este mismo enfoque se aplica a cualquier otra combinación de bases de datos compatibles.

Migración de Oracle a PostgreSQL

Las empresas que migran de Oracle a PostgreSQL deben transferir los datos de las tablas en dos motores que denominan y tipifican sus columnas de forma diferente. Mediante el Asistente para la conexión a bases de datos, MapForce se conecta a Oracle a través de JDBC u ODBC y a PostgreSQL mediante una conexión nativa o una conexión basada en un controlador. Carga ambos esquemas en el panel de asignación, donde puede arrastrar y soltar (o utilizar Altova AI) para conectar las tablas de Oracle con sus equivalentes en PostgreSQL.

Además, resulta igual de sencillo arrastrar y soltar funciones de procesamiento de datos para convertir valores entre los tipos de datos de Oracle y PostgreSQL, adaptar los formatos de fecha y marca de tiempo, y gestionar los valores NULL de forma adecuada según las normas de las bases de datos en cuestión. La configuración de las claves de la base de datos le permite decidir si los valores de las claves principales y foráneas proceden del origen Oracle o si los genera PostgreSQL al insertar los datos.

Migración de MySQL a PostgreSQL

La migración de MySQL a PostgreSQL es una de las conversiones más habituales para las que se utiliza MapForce. Una vez cargadas ambas estructuras de base de datos, MapForce interpreta cada esquema, muestra las tablas y vistas disponibles y reconoce las relaciones entre ellas. Complete la migración arrastrando líneas de conexión entre las estructuras de origen y de destino, y añadiendo funciones de procesamiento de datos cuando los tipos o las convenciones de MySQL y PostgreSQL difieran.

Dado que la asignación se guarda como un diseño reutilizable, la misma migración de MySQL a PostgreSQL puede volver a ejecutarse cada vez que cambien los datos de origen; por ejemplo, durante una transición por fases o como una carga periódica.

Migración de SQLite a MySQL

Las bases de datos SQLite se utilizan con frecuencia para el almacenamiento local o integrado y, posteriormente, es necesario trasladarlas a un servidor MySQL compartido.

Los tipos flexibles de SQLite son el aspecto más importante que hay que tener en cuenta en esta migración: los valores que SQLite almacena de forma no específica deben asignarse a columnas de MySQL con tipos explícitos. Las funciones de procesamiento de datos de MapForce hacen esa conversión dentro de la asignación, de modo que los valores con el tipo correcto se escriben en la base de datos de destino MySQL.

Migración de SQL Server a MySQL

Al migrar de MSSQL a MySQL, MapForce gestiona las diferencias de esquema entre ambos motores como parte de la asignación: el cambio de nombre de las columnas, la conversión de tipos y el formato de los valores se llevan a cabo de forma gráfica, en lugar de mediante scripts de migración. Las acciones de tabla le permiten controlar cómo se asignan los datos. Puede seleccionar INSERT, UPDATE o DELETE para cada tabla y definir qué columnas utiliza MapForce para determinar si una fila de destino ya existe.

Migración de Microsoft Access a SQL Server

Las bases de datos de Access que han superado la capacidad del ordenador de sobremesa suelen migrarse a SQL Server. MapForce se conecta a Microsoft Access y a SQL Server a través de ADO, carga ambos esquemas y le permite asignar tablas y consultas de Access a tablas de SQL Server.

Access y SQL Server difieren en cuanto a los tipos de datos, el manejo de claves y las normas de nomenclatura. Representar gráficamente la conversión pone de manifiesto esas diferencias y le permite corregirlas de una sola vez, en la representación, en lugar de tener que hacerlo repetidamente en los datos. La configuración de las claves de la base de datos determina si los valores de AutoNumber de Access se mantienen o se sustituyen por los valores de identidad de SQL Server.

Migración de Access (ACCDB) a SQLite

La conversión de un archivo ACCDB a SQLite permite pasar una base de datos de Access a un formato ligero basado en archivos que funciona en cualquier lugar. MapForce lee la base de datos de Access a través de ADO y escribe en el archivo SQLite mediante una conexión nativa. Al igual que en cualquier migración con MapForce, no es necesario que los esquemas de origen y de destino coincidan. Puede aplanar, renombrar o crear un subconjunto de la estructura de Access al transformarla en SQLite.

Migración de MariaDB a MySQL

MariaDB y MySQL están estrechamente relacionados, pero para realizar una migración entre ambos es necesario tener en cuenta los tipos de datos, las claves y cualquier diferencia en las definiciones de las columnas. Cuando los esquemas son idénticos, la asignación de datos consiste en un conjunto directo de conexiones; cuando difieren, se aplican los mismos filtros y funciones que en cualquier otra ruta de migración.

Migración de SQL a NoSQL

MapForce también permite migrar datos desde bases de datos relacionales a bases de datos NoSQL, como MongoDB, CouchDB y Microsoft Azure Cosmos DB. Las filas relacionales y sus tablas asociadas se asignan visualmente a estructuras de documentos, de modo que un esquema SQL normalizado puede transformarse en documentos como parte de la migración, en lugar de hacerlo en un paso de transformación separado.

Filtrar y procesar datos

La mayoría de las migraciones reales no son una asignación de datos directa, columna por columna. MapForce incluye una biblioteca de funciones de procesamiento de datos para comparaciones lógicas, cálculos matemáticos, manipulación de cadenas y gestión de fechas y horas, además de filtros y condiciones que controlan qué filas llegan al destino.

Esto significa que puede migrar un subconjunto de los datos de origen, fusionar dos columnas de origen en una sola columna de destino, dividir una única columna de origen en varias columnas de destino, buscar y sustituir valores, o aplicar reglas de negocio durante la migración, todo ello dentro de la misma asignación visual.

Configuración de claves de base de datos

En MapForce, la configuración de claves de base de datos le permite personalizar la forma en que se añaden los valores de las claves principales y foráneas a la base de datos de destino durante una migración. Puede proporcionar valores clave desde MapForce, conservando los identificadores utilizados en el sistema de origen, o bien dejar que el sistema de base de datos de destino se encargue de generar los valores automáticamente.

Definir acciones de tabla de la base de datos

El cuadro de diálogo Acciones de tabla de la base de datos controla cómo se escriben los datos en cada tabla de destino. Seleccione qué acción (INSERT, UPDATE, DELETE) debe ejecutarse y defina las columnas que debe utilizar MapForce para emparejar los registros de destino. El cuadro de diálogo admite la comparación de valores NULL, por lo que es posible configurar una migración para que compare los datos teniendo en cuenta los valores NULL, de acuerdo con las normas de la base de datos en cuestión.

 

Control how data is written during database mapping

 

Procedimientos almacenados SQL

MapForce admite procedimientos almacenados como componentes de entrada o de salida, o bien como llamadas similares a funciones: se proporcionan los datos de entrada, se ejecuta el procedimiento y se asignan los datos de salida a otros componentes. Los procedimientos almacenados también pueden utilizarse para generar valores de clave durante una migración.

Registro y seguimiento de los resultados de la base de datos

El seguimiento de los resultados de la base de datos recoge todos los cambios que hace una migración durante su ejecución. Cuando el seguimiento está activado, los eventos (como las acciones de inserción o actualización en la base de datos, así como los errores) se registran en un archivo XML que podrá analizar posteriormente o procesar más a fondo. El registro de los resultados sirve para generar un historial de lo que se ha migrado.

Gestión de errores en transacciones de BD

MapForce ofrece la gestión de transacciones de bases de datos para revertir la parte afectada de una conversión de base de datos cuando se produce un error y, opcionalmente, continuar con el resto de la asignación. De este modo se evita que un fallo parcial deje la base de datos de destino en un estado incoherente.

Consulta directa en la base de datos

La pestaña Consulta de BD le permite ejecutar consultas SQL en la base de datos de origen o de destino desde MapForce, gracias a un editor de SQL completo. Esto resulta útil para examinar los datos de origen antes de diseñar la asignación y para verificar los resultados en el destino una vez finalizada la migración.

 

Querying a database during conversion

 

Ordenar componentes de BD de entrada

En el caso de las migraciones que requieren que los datos de entrada sigan un orden concreto, el componente SQL-WHERE/ORDER ofrece opciones adicionales de clasificación y filtrado para los componentes de entrada de base de datos.

Automatización y ampliación de las migraciones con MapForce Server

Una vez diseñada y probada la asignación de datos para migración en MapForce, Altova MapForce Server permite una automatización de alto rendimiento que puede invocarse desde la línea de comandos, mediante programación a través de una API o como un paso de trabajo gestionado por FlowForce Server, según los desencadenadores y horarios definidos.

MapForce Server incluye procesamiento y subprocesamiento en paralelo, inserción masiva de datos mediante SQL y compatibilidad multiplataforma, por lo que las migraciones de gran volumen y las cargas repetidas se ejecutan más rápido en comparación con el modo interactivo. En el caso de una migración por fases en la que las mismas tablas se trasladan repetidamente hasta el momento de la transición, esto convierte una asignación puntual en una operación repetible y programada.