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.

  1. Se mide el esquema y se inventarían los procedimientos almacenados que usa la aplicación.
  2. Los procedimientos se especifican con pruebas y se portan a PostgreSQL o a la aplicación.
  3. Se hacen cargas de ensayo y se concilia cada tabla hasta que los resultados coinciden.
  4. 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.