Kaiserslautern – Ob Blutwerte von Patienten im Krankenhaus, Bausparverträge bei Banken oder Kontaktdaten von Kunden bei Unternehmen – in vielen Bereichen stellen Datenbanksysteme den Kern aller digitalen Anwendungen dar.
Mit ihnen lassen sich große Datenmengen einfach speichern und verwalten. Versagen solche Systeme, kann schnell ein hoher Schaden in Millionenhöhe entstehen. Zudem kann ein Ausfall etwa im Gesundheits- oder Finanzenwesen weitreichende Folgen nach sich ziehen. Eine Technik, die solche Systeme schneller als herkömmlich repariert, haben Informatiker der Technischen Universität Kaiserslautern entwickelt. Nutzer haben hierbei auch die Möglichkeit, während der Reparatur mit dem System zu arbeiten.
Bei der Reparatur von technischen Systemen geht meistens Zeit verloren.
„Wenn es eine Stunde dauert, bis ein Geldautomat wieder funktioniert, dann möchte eine Bank sicherstellen, dass so ein Ausfall nur einmal im Monat passiert“,
nennt Informatiker Caetano Sauer als Beispiel.
„Ein Automat, der einmal im Monat für eine Stunde außer Betrieb ist, hat eine Verfügbarkeit von rund 99,9 Prozent.“
In der Informatik sprechen die Fachleute in diesem Zusammenhang von einer Verfügbarkeit von „drei Neunern“.
„Um diese zu erhöhen, das heißt, mehr Neuner hinzuzufügen, ist es in vielen Fällen effektiver, die Reparaturzeit statt die Häufigkeit von Fehlern zu vermindern“,
fährt er fort. Wird der Geldautomat also in zwei Minuten statt in einer Stunde repariert, ist eine Verfügbarkeit von rund 99,99 Prozent erreicht, was „vier Neunern“ entspricht.
Im Rahmen seiner Doktorarbeit hat sich Sauer zusammen mit Seniorprofessor Dr. Theo Härder in der Arbeitsgruppe Datenbanken und Informationssysteme mit dieser Problematik beschäftigt. Härder ist seit über 40 Jahren Experte auf dem Gebiet „Fehlerbehandlung in Datenbanksystemen“. Dank einer Förderung durch die Deutsche Forschungsgemeinschaft (DFG) konnten die Informatiker um Härder dieses Forschungsthema unter heute geänderten Hardware-Bedingungen und Anwendungsanforderungen wieder aufgreifen, um nach optimierten Lösungen zu suchen. Dabei haben sie eng mit dem renommierten Datenbank-Spezialisten Dr. Goetz Graefe vom Suchmaschinenanbieter Google zusammengearbeitet.
In der Regel arbeiten Fachleute daran, die Anzahl der Fehler zu senken. Auf dem Campus in Kaiserslautern haben die Forscher eine andere Herangehensweise gewählt:
„Wir wollten Datenbanksysteme so entwickeln, dass sie sich im Fall eines Fehlers wesentlich schneller als herkömmliche Systeme reparieren lassen, ohne dass die Konsistenz und Sicherheit der Daten beeinträchtigt wird und das System schnell wieder verfügbar ist“,
sagt der Informatiker. Um ihr Ziel zu erreichen, haben sie darauf gesetzt, die Software-Architektur der Datenbanksysteme zu verbessern.
Um Fehler in solchen Systemen zu beheben, kommen bestimmte Verfahren zum Einsatz, sogenannte Recovery-Maßnahmen (zu Deutsch: Reparatur).
„Dafür müssen die vom Fehler betroffenen Speicherungseinheiten, die sogenannten Seiten, wiederhergestellt werden“,
fährt Sauer fort. Dieser Begriff erinnert an die Aufteilung von Informationen in Lexika, Wörter- oder Telefonbüchern. Beispielsweise gehört jeder Eintrag in einem Telefonbuch zu einer bestimmten nummerierten Seite.
„Ist ein Telefonbuch beschädigt, kann man es wiederherstellen, indem die betroffenen Seiten dank einer gesicherten Kopie ersetzt werden“,
nennt er als Vergleich.
Im Kern ihrer Arbeit steht die Tatsache, dass nicht alle Seiten in einer Datenbank gleich wichtig sind und deswegen nicht gleich behandelt werden müssen.
„Manche Seiten sind für die Anwendung wichtiger, weil sie Daten enthalten, die etwa von einem Kunden sofort gebraucht werden oder auf die viel öfter zugegriffen wird“,
sagt Sauer. Ähnlich wie bei einem Telefonbuch, bei dem die Seiten mit dem Nachnamen „Schmidt“ viel wichtiger sind als die Seiten mit dem Buchstaben „Q“.
Bei herkömmlichen Datenbanksystemen ist es während eines Reparaturprozesses erst möglich, auf die Daten zuzugreifen, wenn alle Seiten repariert sind.
„Dies kann mehrere Stunden dauern“,
so Sauer. Bei der Technik, die die Kaiserslauterer Informatiker entwickelt haben, ist dies anders: Der Datenzugriff ist schon zu Beginn der Reparatur möglich. Ein Algorithmus prüft dabei die jeweilig verwendete Seite.
„Muss sie nicht repariert werden, kann der Nutzer weiter arbeiten“,
sagt er. Muss eine Seite allerdings wiederhergestellt werden, erfolgt die Reparatur selektiv auf der betroffenen Seite, bevor sie für die Anwendung wieder zugänglich ist.
„Ein Nutzer, der auf das System zugreift, muss eine gewisse Wartezeit in Kauf nehmen. Sie ist abhängig vom Nutzungsgrad der benötigten Seiten im System.“
Die Kaiserslauterer Informatiker haben ihre Methode bei existierenden Datenbanksystemen getestet.
„Wir haben die Verfügbarkeit um bis zu zwei Neuner erhöht, das bedeutet, dass wir die im Beispiel angenommene Reparaturdauer von rund zwei Minuten auf etwa eine Sekunde reduziert haben“,
nennt Sauer als Ergebnis.
Sauer hat im Rahmen seiner Promotion „Modern techniques for transaction-oriented database recovery“ die Technik und die dafür notwendigen Algorithmen entwickelt. Für diese Arbeit hat er nun den deutschlandweiten Dissertationspreis des Fachbereichs Datenbanken und Informationssysteme (DBIS) der Gesellschaft für Informatik (GI) erhalten. Die Auszeichnung ist mit 2.500 Euro dotiert und wurde Sauer am 8. März in Rostock während der Fachtagung „Datenbanksysteme für Business, Technologie und Web“ verliehen. Sauer hat seine Promotion im September 2017 abgeschlossen und arbeitet mittlerweile beim Softwareentwickler Tableau in München.