Cómo migrar una base de datos reduciendo el tiempo de inactividad
El downtime depende del volumen, la tasa de cambios y la estrategia de copia. Explicamos cómo elegir ventana, validaciones y rollback.
Reducir el tiempo de inactividad no consiste únicamente en acelerar un dump. Hay que controlar qué escrituras ocurren durante la copia, comprobar compatibilidad y definir cómo se valida el destino. Para bases pequeñas puede bastar una ventana breve; para cargas activas puede ser necesaria una sincronización incremental o replicación.
Medir antes de elegir una estrategia
Se necesita conocer tamaño, tasa de escritura, versión del motor, extensiones, encoding, tablas grandes y tiempo disponible. Un restore probado proporciona una referencia mejor que una estimación basada solo en gigabytes. También hay que medir el tiempo de índices, migraciones de esquema y tareas posteriores.
Opción simple: ventana de escritura
Cuando el volumen lo permite, se detienen las escrituras, se realiza una copia consistente, se restaura y se cambia la aplicación. Es una estrategia comprensible y fácil de revertir. Su principal coste es la ventana, por lo que debe comunicarse y ensayarse con datos de tamaño comparable.
Opción incremental o replicada
Si la ventana aceptable es menor que el tiempo de copia, puede prepararse el destino con antelación y aplicar los cambios posteriores mediante replicación o mecanismos incrementales. Esto reduce el corte final, pero aumenta la complejidad: hay que vigilar retraso, compatibilidad y dirección de las escrituras.
Validaciones que deben acordarse
La ausencia de errores durante el restore no demuestra por sí sola que la aplicación verá los mismos datos. Conviene comparar conteos, registros de referencia, nulos, secuencias, permisos y consultas críticas. Las validaciones deben definirse antes para evitar decidir bajo presión qué significa una migración correcta.
Corte y rollback
Durante el corte se registra la última escritura admitida, se actualiza la conexión y se ejecutan pruebas de lectura y escritura. Volver al origen es sencillo solo si no se han aceptado datos nuevos en ambos lados. El plan debe explicar cómo se reconcilian o descartan cambios si fuera necesario regresar.
La estrategia adecuada
Para una base pequeña y una ventana flexible, la solución más simple suele ser la más segura. Replicación y sincronización incremental se justifican cuando la operación exige un corte corto y el equipo puede observarlas. El objetivo no es cero downtime como eslogan, sino un cambio medible y recuperable.