Capítulo 17: OzOSC - Migraciones sin Tiempo de Inactividad
Información: Este capítulo describe la arquitectura OzOSC (Online Schema Change) para alterar esquemas de tablas masivas de producción sin bloqueos de lectura ni escritura en MySQL y MariaDB.
En este capítulo:
- 17.1 Visión general
- 17.2 Estado de soporte
- 17.3 Funcionamiento y secuencia operativa
- 17.4 Monitorización en tiempo real
- Temas relacionados
17.1 Visión general
Ejecutar sentencias ALTER TABLE ordinarias sobre tablas críticas bloquea las transacciones y genera costosas interrupciones de servicio (downtime). OzOSC ejecuta la migración mediante una tabla sombra auxiliar sin suspender las operaciones en curso.
17.2 Estado de soporte
El mecanismo nativo opera sobre bases de datos MySQL y MariaDB con clave primaria verificada. Los motores PostgreSQL y SQLite no emplean este canal nativo.
17.3 Funcionamiento y secuencia operativa
[ Tabla en vivo : orders ] --(Copia delta mediante disparadores)--> [ Tabla sombra : _orders_sqloz_osc ]
(Operativa normal mantenida) (ALTER TABLE ejecutado)
|
(Intercambio atómico < 1 ms)
v
[ Nueva tabla activa : orders ]
- Creación de la tabla sombra: Se genera una estructura vacía idéntica a la tabla original.
- Aplicación del cambio de esquema: El
ALTER TABLEse aplica en milisegundos sobre la tabla sombra vacía. - Sincronización delta con triggers: Disparadores provisionales replican cualquier
INSERT,UPDATEoDELETEproducido en la tabla viva. - Copia de registros en lotes: Se trasladan los datos históricos por bloques delimitados sin saturar los recursos de I/O.
- Permutación atómica: Un comando atómico de renombrado intercambia ambas tablas de manera imperceptible para los usuarios conectados.
17.4 Monitorización en tiempo real
El panel interactivo presenta la tasa de transferencia en tiempo real (filas/segundo), el cálculo de tiempo estimado de finalización (ETA) y el desglose de fases completadas.