Skip to main content
SQLOZ
Chapter 17 DBA & Production Safety

Capitolo 17: OzOSC - Modifiche di Schema a Zero Downtime

Info: Questo capitolo illustra l’architettura OzOSC (Online Schema Change) per applicare alterazioni DDL a tabelle di produzione senza causare blocchi di lettura o scrittura su MySQL e MariaDB.

In questo capitolo:

17.1 Panoramica

L’esecuzione di comandi ALTER TABLE su tabelle di produzione massive provoca blocchi di lock e tempi di inattività del servizio (downtime). OzOSC azzera questa criticità attraverso una procedura con tabella ombra (Shadow Table).

17.2 Stato del Supporto

La modalità nativa è operativa per tabelle gestite su MySQL e MariaDB dotate di Primary Key verificata. PostgreSQL e SQLite non utilizzano questo flusso nativo.

17.3 Sequenza Operativa

[ Tabella in Produzione : orders ] --(Trigger Delta Copy)--> [ Tabella Ombra : _orders_sqloz_osc ]
   (Operazioni attive in corso)                                  (ALTER TABLE applicato)
                                                                            |
                                                            (Scambio atomico < 1 ms)
                                                                            v
                                                            [ Nuova Tabella : orders ]
  1. Creazione tabella ombra: Creazione di una struttura identica a quella originaria, inizialmente priva di record.
  2. Applicazione schema change: L’ALTER TABLE viene eseguito istantaneamente sulla tabella ombra vuota.
  3. Sincronizzazione delta con trigger: Vengono predisposti trigger temporanei per specchiare le istruzioni INSERT, UPDATE, DELETE attive.
  4. Copia dei record storici: I dati preesistenti vengono riversati a blocchi senza saturare le risorse del server.
  5. Scambio atomico finale: Con un’istruzione atomica di rinomina, la tabella ombra sostituisce quella in linea senza interruzioni.

17.4 Monitoraggio in Tempo Reale

Il pannello di esecuzione mostra la velocità di trasferimento (righe al secondo), il tempo residuo stimato (ETA) e lo stato di avanzamento delle singole fasi.

Temi correlati