Kurzfassung

Um die Dauerhaftigkeit von Transaktionen in Datenbanksystemen sicherzustellen, ist die persistente Speicherung von Daten notwendig. Dazu existieren in der Datenbankforschung mehrere Ansätze wie z.B. logisches und physisches Logging. Zudem hängt die Performanz der jeweiligen Verfahren auch stark von der Architektur des Datenbanksystems als auch der Eigenschaften des persistenten Speichersystems ab. In dieser Diplomarbeit soll daher untersucht werden, welche Persistenzverfahren sich am besten für ein speicherresidentes datenorientiertes Datenbanksystem eignen, mit besonderem Hinblick auf deren Durchsatz und Recovery-Zeit. Es soll im wesentlichen eine SSD als zugrundeliegendes Speichersystem betrachtet werden, jedoch sollen NVM Lösungen in die Betrachtung einbezogen werden und existierende Abstraktionsbibliotheken untersucht werden.

Ausgangssituation

Um die Dauerhaftigkeit von Transaktionen in Datenbanksystemen sicherzustellen, ist die persistente Speicherung von Daten notwendig. Dazu existieren in der Datenbankforschung mehrere Ansätze. Während logisches Logging sich den hohen sequentiellen Schreibdurchsatz von Block-orientierten Datenträgern zugute macht, zeigen Ansätze für physisches Logging einen deutlich geringeren Durchsatz auf, während die Wiederherstellungszeit und Fehlerfall deutlich geringer ausfällt. Zudem hängt die Performanz der jeweiligen Verfahren auch stark von der Architektur des Datenbanksystems als auch der Eigenschaften des persistenten Speichersystems ab.

Aufgabenstellung

In dieser Diplomarbeit soll daher untersucht werden, welche Persistenzverfahren sich am besten für ein speicherresidentes datenorientiertes Datenbanksystem eignen mit besonderem Hinblick auf deren Durchsatz und Wiederherstellungszeit. Solche Datenbanken nutzen als Besonderheit eine implizite Datenpartitionierung innerhalb eines einzigen Servers und erreichen dadurch eine bessere Skalierbarkeit und erlauben desweiteren eine feingranulare adaptive Anpassung des physischen Datenablageformats zur Laufzeit. Als zugrundeliegendes Speichersystem sollen im wesentlichen SSDs betrachtet werden, jedoch sollen NVM Lösungen in die Betrachtung einbezogen werden und existierende Abstraktionsbibliotheken untersucht werden. Dazu soll der existierende DBMS Prototyp ERIS um entsprechende Persistenzverfahren erweitert und evaluiert werden.

Wesentliche Fragestellungen sind dabei:

  • Kann die zugrundeliegende Architektur des Datenbanksystems ERIS ausgenutzt werden, um Persistenzverfahren zu beschleunigen?
  • Welche Persistenzerfahren bzw. dessen Erweiterungen eignen sich am besten, um Persistenz in ERIS umzusetzen? Insbesondere sollen dabei Funktionen wie Adaptivität erhalten bleiben.
  • Welcher Durchsatz wird zur Laufzeit von Transaktionen erreicht und wie sind die Auswirkungen auf die Wiederherstellungszeit der Datenbank im Fehlerfall?

Welche Konzepte können auf NVM Speichersysteme übertragen werden und welche Änderungen sind notwendig? Ist die Nutzung von existierenden Abstraktionsbibliotheken (z.B. pmem.io) gewinnbringend?