Die Struktur ändern, während gearbeitet wird
Einführung · 5 Abschnitte · ~15 Min Lesezeit · Stand
Betriebsfrage
Anwendungscode lässt sich zurückrollen. Eine gelöschte Spalte nicht. Schemaänderungen sind der Teil der Auslieferung, bei dem die Umkehrbarkeit endet — und deshalb der Teil, der eine eigene Vorgehensweise braucht.
Mentales Modell
- Erweitern
- Beides schreiben
- Umstellen
- Aufräumen
Das Muster trennt eine gefährliche Änderung in mehrere ungefährliche: Zuerst wird die neue Struktur zusätzlich angelegt, dann schreibt die Anwendung in beide, dann liest sie aus der neuen, und erst danach — wenn nichts mehr zurückrollen muss — verschwindet die alte.
Warum das nötig ist
- Während einer Auslieferung laufen alte und neue Anwendungsversion gleichzeitig; das Schema muss beide bedienen.
- Ein Rückrollen der Anwendung darf nicht am Schema scheitern.
- Nur so kann das Aufräumen zu einem eigenen, ruhigen Termin stattfinden.
Sperrverhalten
| Metadaten ändern | Meist kurz, aber eine kurze exklusive Sperre auf einer stark genutzten Tabelle staut sofort alle folgenden Anfragen auf. |
|---|---|
| Daten umschreiben | Lange Laufzeit; die Art der Sperre entscheidet, ob nebenher noch gearbeitet werden kann. |
| Prüfregel hinzufügen | Muss den Bestand prüfen — auf großen Tabellen ist der schrittweise Weg über eine zunächst ungeprüfte Regel oft der einzige gangbare. |