Oracle Senior IT

Database Award 2012 - Denic eG

Migration im Parallelbetrieb

18.06.2012
Von 
Dr. Klaus Manhart hat an der LMU München Logik/Wissenschaftstheorie studiert. Seit 1999 ist er freier Fachautor für IT und Wissenschaft und seit 2005 Lehrbeauftragter an der Uni München für Computersimulation. Schwerpunkte im Bereich IT-Journalismus sind Internet, Business-Computing, Linux und Mobilanwendungen.

Parallele Datenbanken

Bei der Migration der Sybase-Datenbank standen die IT-Experten der Denic vor mehreren großen Herausforderungen. Eine der größten: Die Umstellung von einem Terabyte Daten musste im laufenden Betrieb erfolgen. Eine längere Downtime konnte sich das Unternehmen nicht leisten, denn den Kunden hätten sonst keine Services mehr zur Verfügung gestanden.

Damit nicht genug: Ein weiteres Problem waren die vielen Anwendungen - Registrierungssystem, whois, Rechnungswesen - die auf die Datenbank lesend und schreibend zugreifen. Auch diese mussten auf die neue Datenbank migriert werden. "Die ganze Anwendungslandschaft in einem Rutsch zu migrieren, wäre aber ein sehr hohes Risiko", sagt der stellvertretende Leiter Entwicklung Ulrich Mayring. "Deshalb haben wir uns entschlossen, die Applikationen nach und nach umzustellen."

Der Migrationsplan sah vor, dass zunächst in beide Datenbanken geschrieben und nur aus der alten gelesen wird. Anschließend, so der Plan, erfolgt die Umstellung auf die neue Datenbank. Im letzten Schritt schließlich wird dann die alte Datenbank abgeschaltet. "Auf diese Art wurde eine transaktionssichere Migration erreicht", erklärt Marcos Sanz Grossón, Leiter Entwicklung bei der Denic. "Sicher war diese Migration deshalb, weil es immer Punkte gab, auf die man im Problemfall hätte zurücksetzen können."

Die Vorgaben hatten die Konsequenz, dass die neue und alte Datenbank längere Zeit im Parallelbetrieb laufen mussten. Das war zwar aufwändig, weil immer in beide Systeme geschrieben werden musste. Der gleichzeitige Betrieb zweier identischer Datenbanken garantierte aber, dass in beiden Systemen zur selben Zeit dieselben Daten gespeichert waren - und dies auch immer völlig konsistent. Dazu liefen im Hintergrund Jobs, die diese Konsistenz permanent prüften.