u·Site / blog
Integración de sistemas

Validar la continuidad antes de migrar datos

Las ocho fases para validar la continuidad antes de una migracion de datos: plan de reversion, linea base, ensayo cronometrado y criterios de aborto.

Proceso de validación de continuidad previo a una migración de datos entre dos sistemas

La pregunta que se repite en las reuniones previas a una migración es si los datos van a llegar completos al destino. La que casi nunca aparece en la agenda es qué ocurre con la operación durante las horas en que los datos están a medio camino, y qué se hace a las tres de la mañana si hay que devolverlo todo al punto de partida.

Una migración es el único momento en que una empresa rompe deliberadamente un sistema que funciona. La fase de validación previa existe para que esa ruptura sea reversible y para que, si algo sale mal, el negocio siga operando mientras se resuelve. Lo que sigue es el procedimiento que aplicamos antes de tocar el primer registro.

Las ocho fases

  1. Redactar el plan de vuelta atrás
  2. Inventariar quién consume el dato
  3. Congelar la línea base
  4. Ensayar con datos reales y cronómetro
  5. Fijar los criterios de aborto
  6. Definir el modo degradado
  7. Validar en secuencia
  8. Sostener la convivencia

Fase 01

El entregable de esta fase es el plan de vuelta atrás

Antes de escribir un solo script de extracción conviene tener redactado el procedimiento de reversión, con el mismo nivel de detalle que el de avance: qué comandos se ejecutan, en qué orden, quién los ejecuta, cuánto tarda cada paso y cómo se verifica que el sistema origen quedó otra vez consistente y recibiendo escrituras.

Un plan de reversión que solo existe como intención —«si algo pasa volvemos al servidor viejo»— se descubre incompleto justo cuando hay presión de tiempo. El equipo que redacta ese documento suele encontrar en el camino tres o cuatro dependencias que nadie había considerado, y ese hallazgo temprano vale más que el documento en sí.

Fase 02

Quién consume el dato, más allá de la aplicación

El inventario de dependencias es la parte que más sorpresas produce, porque la aplicación principal casi nunca es el único consumidor de la base de datos.

En una revisión seria aparecen los reportes de gerencia que consultan las tablas directamente, los procesos programados que corren de madrugada y que nadie recuerda haber configurado, las integraciones con terceros que tienen la dirección del servidor escrita en su propia configuración, los tableros de indicadores conectados por ODBC, y con bastante frecuencia una hoja de cálculo del área comercial que se actualiza sola contra la base de producción y de la que depende el informe semanal de ventas.

Cada uno de esos consumidores es un punto que puede quedar apuntando al origen después del corte, entregando información que ya dejó de actualizarse. Conviene levantarlos con evidencia —logs de conexión de los últimos noventa días, no memoria del equipo— porque las conexiones que nadie recuerda son precisamente las que no se van a migrar.

Fase 03

La línea base: cómo demostrar después que nada se perdió

Comparar dos bases de datos después de una migración sin haber definido antes qué se compara termina en una discusión sin final. La línea base se toma sobre el origen, en frío, y se guarda firmada.

Se captura Qué revela si cambia
Conteo de registros por tablaPérdida o duplicación de filas
Suma de columnas de dinero y cantidadesTruncamiento de decimales, signos invertidos
Máximo y mínimo de cada campo de fechaDesplazamiento por zona horaria, fechas cero
Nulos en columnas críticasCampos que la transformación dejó vacíos
Casos frontera elegidos a manoCodificación, comillas, adjuntos externos

Qué incluir en los casos frontera

Registros con caracteres especiales y con eñes, nombres con tildes, textos que contienen comillas o saltos de línea, fechas antiguas o con valor cero, campos numéricos con más decimales de los habituales, registros con claves foráneas que apuntan a nada porque el sistema origen toleraba esa inconsistencia, y adjuntos o imágenes almacenados fuera de la base.

Media docena de esos casos revela problemas que ningún conteo global muestra. Migrar desde una base en Latin-1 hacia una en UTF-8 sin declarar la conversión produce doble codificación, y el síntoma aparece semanas después, cuando alguien nota que los apellidos con tilde salen corruptos en facturas ya emitidas. Las fechas guardadas sin zona horaria se comportan igual: al cargarlas en un servidor configurado en otro huso, los registros se desplazan unas horas y el desfase se descubre al cuadrar un cierre.

Fase 04

El ensayo, con datos reales y cronómetro

La ventana de mantenimiento se mide, no se estima. El ensayo se hace sobre una copia reciente de producción, con el volumen real, en infraestructura equivalente a la del día del corte, y cronometrando cada etapa por separado: extracción, transformación, carga, reconstrucción de índices, verificación.

De ahí salen los números que se le prometen al negocio. Y salen también las sorpresas de rendimiento: la carga que era rápida en el ambiente de pruebas con cincuenta mil registros y tarda seis horas con doce millones, la reconstrucción de índices que resultó ser la etapa más larga de todas, la tabla con un campo de texto largo que multiplica el tiempo de transferencia.

Un ensayo que no se cronometra deja al equipo entrando a la ventana real con una estimación optimista, que es la forma más común de que un corte planeado para cuatro horas termine a mediodía del día siguiente.

Fase 05

Criterios de aborto, escritos y con hora

Antes del corte hay que fijar tres cosas y dejarlas por escrito: la hora límite después de la cual ya no se inicia la migración aunque todo esté listo, la hora límite después de la cual se revierte sin discusión aunque falte poco, y el nombre de la persona que toma esa decisión.

El punto de no retorno

Se define en el mismo documento: la etapa a partir de la cual revertir cuesta más que avanzar, generalmente cuando el sistema destino ya empezó a recibir escrituras de usuarios reales. Todo lo que ocurra antes de ese punto debe ser reversible en un tiempo conocido.

Sin esos límites acordados en frío, la decisión de continuar o volver se toma a las cuatro de la mañana, por gente cansada, con el sesgo de haber invertido ya muchas horas.

Fase 06

Qué pasa con lo que llega durante la ventana

Mientras la migración corre, el negocio sigue existiendo. Llegan pedidos, llaman clientes, alguien necesita consultar un saldo.

Hay que definir explícitamente el modo degradado: qué operaciones se suspenden, cuáles siguen disponibles en modo de solo lectura, y dónde se registra manualmente lo que entre durante la ventana para cargarlo después. Un formulario en papel o una hoja compartida con instrucciones claras evita que el área comercial improvise, y evita también la discusión posterior sobre qué transacciones faltan.

Este acuerdo se cierra con las áreas usuarias y se comunica con varios días de antelación, junto con la hora exacta de inicio y el canal por el que se avisará que el sistema volvió.

Fase 07

La validación posterior, en orden

Terminada la carga, la verificación sigue una secuencia. Primero los conteos y las sumas contra la línea base, porque una diferencia ahí detiene todo lo demás. Después los casos frontera, uno por uno, comparados visualmente. Luego la integridad referencial y los índices. Y al final, la parte que suele omitirse: las pruebas funcionales sobre la aplicación, ejecutadas por usuarios del negocio siguiendo sus procesos habituales.

Que los datos estén completos y que el sistema funcione son dos verificaciones distintas. Una consulta que tardaba dos segundos y ahora tarda cuarenta pasa todas las validaciones de integridad y aun así deja la operación inutilizable.

También forman parte de esta etapa los permisos y los usuarios, que viajan por un camino separado del de los datos y se olvidan con frecuencia. Un sistema migrado donde todos los perfiles quedaron con acceso total funciona perfectamente hasta la primera auditoría.

Fase 08

Convivencia: cuándo se apaga el origen

El sistema origen no se apaga el día del corte. Se deja disponible en modo de solo lectura durante un periodo de convivencia que debería cubrir, como mínimo, un ciclo completo de negocio: un cierre contable, un corte de facturación, un proceso de nómina, según lo que corresponda a la operación.

Los errores que sobreviven a la validación técnica aparecen cuando alguien ejecuta un proceso mensual y el resultado no cuadra con el del mes anterior. Tener el origen consultable en ese momento convierte una crisis en una consulta de veinte minutos.

Al cerrar ese periodo se toma un respaldo final del origen, se archiva con su documentación, y solo entonces se libera la infraestructura.

El resumen operativo

  1. Redactar el plan de reversión con el mismo detalle que el de avance.
  2. Inventariar consumidores con evidencia de conexiones, no con memoria.
  3. Congelar y firmar la línea base sobre el origen.
  4. Ensayar con datos reales y cronometrar cada etapa.
  5. Fijar por escrito los criterios de aborto y el punto de no retorno.
  6. Acordar el modo degradado con las áreas usuarias.
  7. Ejecutar y validar en secuencia.
  8. Sostener la convivencia hasta cerrar un ciclo de negocio completo.

Conseguir que el negocio ponga por escrito cuánto tiempo puede estar detenido y quién tiene autoridad para revertir suele costar más trabajo que cualquiera de las etapas técnicas, y esa conversación conviene tenerla semanas antes del corte, mientras todavía se puede mover la fecha.

Preguntas frecuentes

¿Cuánto tiempo antes del corte debería empezar esta validación?

Entre tres y seis semanas para una migración de complejidad media. El ensayo cronometrado y el inventario de consumidores son las dos etapas que consumen más calendario, y ninguna se puede comprimir sin perder su valor.

¿Sirve migrar por partes en lugar de hacer un corte único?

Cuando el modelo de datos lo permite, reduce el riesgo de cada ventana y hace manejable la reversión. A cambio exige mantener sincronizados dos sistemas durante el periodo de transición, con un proceso de reconciliación que hay que diseñar y probar igual que el resto.

¿Quién debería firmar la línea base?

La persona responsable del dato en el negocio, no solo el equipo técnico. Esa firma es la que permite cerrar cualquier discusión posterior sobre si un registro faltaba antes o después de la migración.

NJ
Natalia Jaimes
Escribe sobre integración de sistemas, infraestructura y continuidad operativa a partir de proyectos de desarrollo e implementación para empresas en Colombia.
Del mismo tema