Modernización
Migración de base de datos: cambiar de motor sin perder un registro
Licencias que suben en cada renovación, versiones sin soporte o procedimientos almacenados que nadie entiende. Migramos la base de datos con el esquema real medido y cada tabla conciliada antes de conmutar.
El problema
Los datos son la parte que no admite errores
Una migración de datos falla por lo que no se ve: tipos de datos distintos, reglas escondidas en triggers y procedimientos almacenados, llaves compuestas y datos históricos que no cumplen las reglas actuales. En el análisis de un sistema ferroviario (sin nombre del cliente), el esquema real tenía 159 tablas, 1,238 columnas, 155 llaves foráneas y 54 llaves primarias compuestas.
Cómo lo hacemos
Del esquema medido a los datos conciliados
Esquema medido
Tablas, columnas, llaves, índices, triggers y procedimientos almacenados se inventarían desde la base de datos real.
Lógica de base de datos especificada
Lo que hacen los procedimientos y los triggers se documenta, y se decide si se porta al nuevo motor o a la aplicación.
Conciliación de datos
Cada tabla se concilia entre origen y destino con conteos y comparaciones antes de conmutar.
Conmutación reversible
La conmutación se ensaya, se define cómo regresar y solo entonces se mueve la operación.
Escenario ilustrativo
Un sistema de nómina sobre Oracle con licencias en renovación
Imagina una aplicación de nómina sobre Oracle, con buena parte de su lógica en procedimientos almacenados y una renovación de licencias por delante.
- Se mide el esquema y se inventarían los procedimientos almacenados que usa la aplicación.
- Los procedimientos se especifican con pruebas y se portan a PostgreSQL o a la aplicación.
- Se hacen cargas de ensayo y se concilia cada tabla hasta que los resultados coinciden.
- La conmutación se ensaya y se ejecuta en una ventana acordada, con un camino de regreso definido.
Escenario ilustrativo: Ejemplo hipotético para explicar el método: no describe a un cliente ni un resultado medido.
Qué te queda
Datos conciliados y un esquema documentado
Diccionario de datos del esquema real, scripts de migración repetibles y reportes de conciliación por tabla.
Preguntas frecuentes
¿Hay que cambiar también la aplicación?
Depende de cuánta lógica viva en la base de datos y de cómo accede a ella la aplicación. El inventario lo indica antes de cotizar.
¿Se detiene la operación?
La conmutación de la base de datos se hace en una ventana acordada y ensayada previamente, con un camino de regreso definido.
¿Necesitan mis datos reales para empezar?
No. Para la muestra medida basta la estructura de la base de datos; los datos se usan después, en las cargas de ensayo, con los controles de acceso que defina tu empresa.
Siguiente paso
Empieza por una muestra medida: de 5 a 10 pantallas de tu sistema convertidas en especificación verificable, con pruebas y un inventario de diferencias.