Universidad Nacional Autónoma de México
Dirección General de Servicios de Cómputo Académico
Año 7 Núm. 74, Publicación Mensual, 27 de Noviembre de 2008

ARTÍCULOS

 

Año 5, Número 51, Agosto de 2006

Asegure una migración exitosa
de bases de datos

Susana Corona Correa

Factor crítico para el éxito de la migración de la base de datos es la realización de pruebas para validar o modificar la arquitectura final y el plan de migración, así como para comprobar que las aplicaciones funcionan correctamente.

Actualmente la información se ha convertido en un activo importante para las organizaciones tanto públicas como privadas; dicha información se obtiene mediante la extracción e interpretación de los datos que posee la organización, algunos de los cuales se encuentran almacenados en sus bases de datos (BD).

Una base de datos en su concepto más simple, se refiere a un conjunto de datos relacionados entre sí con un objetivo común. De acuerdo con C. J. Date, en su libro Introducción a las bases de datos: “es una colección de datos integrados, con redundancia controlada y con una estructura que refleje las interrelaciones y restricciones existentes en el mundo real; los datos que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de éstas, y su definición y descripción, únicas para cada tipo de dato, han de estar almacenadas junto con los mismos. Los procedimientos de actualización y recuperación, comunes, y bien determinados, habrán de ser capaces de conservar la integridad, seguridad y confidencialidad del conjunto de datos”.

En tanto que una migración de BD es un proceso que se realiza para mover o trasladar los datos almacenados en un origen de datos a otro, para lo cual es indispensable que antes de empezar cualquier proceso de esta naturaleza, se tenga clara y documentada la razón por la cual se está migrando, además de elaborarse la planeación detallada de las actividades contempladas. Dicha migración se requiere llevar a cabo cuando es necesario mover un esquema dentro del mismo servidor, o de un servidor a otro, así como para actualizar la versión del software, y hacer un cambio de manejador de bases de datos por el de otro fabricante o para cambiarlo a una plataforma de cómputo distinta.

Existen diversos motivos para hacer una migración, tales como: mejorar el desempeño de la base de datos, cumplir con nuevos requerimientos de usuario, de la aplicación o políticas de seguridad; así como la compatibilidad con otras aplicaciones, la actualización de versiones, la estandarización de la tecnología de información en la organización, la reducción de costos que se puede tener al cambiar por software libre, el aumento en el volumen de datos, nuevos procesos de negocio, entre otros escenarios posibles.

Es conveniente hacer notar que en la planeación del proyecto de migración, se debe delimitar el alcance, definir la estrategia por seguir, identificar en forma completa los requerimientos, hacer un análisis de riesgos, así como analizar las condiciones actuales y finales. En esta fase es necesario, igualmente, determinar la viabilidad técnica y la factibilidad económica de la solución planteada; pero antes, es oportuno realizar respaldos de la base de datos antes y después del proceso de migración, así como considerar en qué momento y durante cuánto tiempo se va a detener la operación de la base de datos en producción. Si esto no es posible, se debe determinar el procedimiento para identificar los datos que fueron ingresados durante el proceso de migración, para su actualización posterior.

Durante la migración, propiamente, se realizan procesos de extracción, transformación y carga, los cuales incluyen el obtener los datos desde su origen, modificarlos para cumplir con la integridad, la consistencia y las reglas del negocio definidas para, finalmente insertarlos en la base de datos destino. Una actividad central del proceso es realizar un análisis del modelo de datos actual y del nuevo, para determinar cuáles son las tablas y campos críticos de ambos; posteriormente, se analizará y documentará la correspondencia campo por campo del nuevo modelo con el modelo actual, especificando los valores por defecto, nulos, la tabla o tablas que serán el origen de datos de cada relación en el nuevo modelo y las dependencias funcionales de cada una de ellas.

Adicionalmente, se debe contemplar la verificación de la integridad referencial entre las tablas de acuerdo con los requerimientos del modelo en el nuevo ambiente y determinar las limitaciones existentes. De esta manera, es necesario considerar las diferencias de los tipos de datos entre el modelo actual y el nuevo, asegurar que la información pueda ser almacenada en los campos bajo la nueva definición, verificar el tamaño de los objetos y de la base de datos, revisar el tipo de índices que soporta la base de datos final y su manejo de transacciones.

Por otro lado, si el alcance del proyecto incluye la migración de procedimientos almacenados, cuando hay un cambio de manejador de bases de datos (RDBMS), se debe considerar que tal vez sea necesario programarlos nuevamente, en tantoel código puede no ser compatible. También se recomienda probar de manera exhaustiva, que las consultas realizadas por las aplicaciones, puedan seguir ejecutándose normalmente. Esta actividad es una parte fundamental del proceso, debido a que los datos almacenados se vuelven importantes conforme pueden ser convertidos en información valiosa para los usuarios.

Existen otros aspectos que se deben tener en cuenta para el éxito del proyecto, tales como: contar con el apoyo de la alta dirección, asignar a un equipo con la experiencia y competencias requeridas, identificar las aplicaciones críticas que harán uso de los datos, la disponibilidad requerida de la BD, así como contar con los recursos e infraestructura necesarios bajo el dimensionamiento realizado.

Factor crítico para el éxito de la migración de la base de datos es la realización de pruebas las cuales, inicialmente, pueden ser a pequeña escala para validar o modificar la arquitectura final y el plan de migración, así como para comprobar que las aplicaciones que harán uso de la base de datos funcionan correctamente y optimizar los tiempos y recursos necesarios. Es recomendable hacer pruebas generales para comprobar que el proceso completo funciona correctamente, medir los tiempos para tener una planeación integral y minimizar los riesgos.

Una vez terminado el proceso se deben medir los resultados y entregar un reporte global del trabajo realizado, mencionando cuáles son los productos que se entregan, cuántas tablas u otros objetos fueron migrados, cuántos registros se migraron exitosamente, cuántos no fueron migrados y cuál fue la causa de ello.

Se sugiere realizar el reporte ejecutivo que resuma y presente a los directivos, los resultados obtenidos. Otro documento relevante para el cliente es la memoria técnica que contenga la configuración de los parámetros de la base de datos migrada, su estructura física y espacio disponible, entre otros datos relevantes.

La migración de datos, por sí misma, puede ser considerada como un proyecto complejo que para ser exitoso requiere una planeación detallada, un profundo conocimiento tanto de los datos como de las herramientas necesarias para llevar a cabo el proceso, así como en forma importante, de los sistemas y aplicaciones que hacen uso de los datos a partir del modelo final, para asegurar su correcto funcionamiento y continuidad en la operación.

Para mayor información:

http://www.pc-news.com/detalle.asp?sid=&id
=11&Ida=1902

http://www.hispalinux.es/informes/IDA/Directrices
_IDA_OSS_ESv1_r.pdf

Inicio | Contacto |