Kapitel 17: OzOSC - Zero-Downtime Schema-Migrationen
Info: Dieses Kapitel beschreibt das OzOSC-Konzept (Online Schema Change) für unterbrechungsfreie Schema-Änderungen auf großen MySQL- und MariaDB-Tabellen.
In diesem Kapitel:
- 17.1 Übersicht
- 17.2 Unterstützungsstatus
- 17.3 Funktionsweise und Ablauf
- 17.4 Live-Fortschrittsverfolgung
- Verwandte Themen
17.1 Übersicht
Ein herkömmliches ALTER TABLE auf Produktivtabellen führt oft zu Sperren (Table Locks) und kostspieligen Ausfallzeiten. OzOSC migriert Tabellenstrukturen ohne Sperrung laufender Lese- und Schreibzugriffe.
17.2 Unterstützungsstatus
Der native Pfad steht für Tabellen unter MySQL und MariaDB mit verifiziertem Primärschlüssel zur Verfügung. PostgreSQL und SQLite nutzen diesen Pfad derzeit nicht.
17.3 Funktionsweise und Ablauf
[ Produktivtabelle ] --(Trigger Delta-Kopie)--> [ Schattentabelle ]
(Schreib/Lesezugriff aktiv) (ALTER TABLE angewendet)
|
(Atomarer Tabellentausch < 1 ms)
v
[ Neue Produktivtabelle ]
- Schattentabelle anlegen: Nach Prüfung der Kriterien wird eine leere Schattentabelle erzeugt.
- Schema-Änderung anwenden: Das
ALTER TABLEwird innerhalb von Millisekunden auf die leere Schattentabelle angewendet. - Delta-Synchronisation: Temporäre Trigger spiegeln alle
INSERT,UPDATEundDELETE-Vorgänge der Produktivtabelle auf die Schattentabelle. - Stapelweiser Datentransfer: Bestandsdaten werden blockweise im Hintergrund kopiert.
- Atomarer Tausch: Ein atomarer Rename-Befehl tauscht Schattentabelle und Produktivtabelle verzögerungsfrei aus.
17.4 Live-Fortschrittsverfolgung
Das Dashboard visualisiert Zeilenübertragungsraten (Zeilen/Sek.), geschätzte Restlaufzeit (ETA) sowie den detaillierten Phasenstatus.