Time: upon consultation
Location: APB 3043
Quantity: 0V/0Ü/4P SWS
Language: German (English on request)
Modules: INF-B-510, INF-B-520, INF-B-530, INF-B-540, IST-05-KP

Hintergrund

Die Unterstützung von Datenbank Versionierung – also die gleichzeitige Bereitstellung mehrerer Schemaversionen für ein und den selben Datenbestand – ist ein topaktuelles Forschungsthema. Nutzer können beliebig alte Versionen einer Application weiterverwenden, während die Entwickler agile und dynamisch die aktuelle Version vorantreiben und auch schon für interessierte Nutzer zu Verfügung stellen. Da die derzeitige Best-Practice in handgeschriebenen und fehleranfälligen Lösungen besteht, wurde an unserem Lehrstuhl InVerDa entwickelt. InVerDa beruht auf einer einfachen und intuitiven Datenbank-Evolutions-Sprache, welche mächtig genug ist um automatisiert alle Schemaversionen gleichzeitig bereitzustellen. Schreiboperationen in einer Schemaversion sind in allen anderen Schemaversionen ebenfalls sichtbar. Zudem kann der Datenbankadministrator die physische Ablage der Daten dem aktuellen Workload anpassen ohne die Verfügbarkeit der einzelnen Schemaversionen zu beeinträchtigen.

Weiterführende Informationen: InVerDa-Projekt und [K. Herrmann, H. Voigt, T. Seyschab, and W. Lehner, “InVerDa – co-existing schema versions made foolproof,” ICDE, 2016]

Aufgabe

Im Rahmen des Komplexpraktikums soll eine Benchmarkumgebung für InVerDa entwickelt werden. Dies beinhaltet drei wesentliche Arbeitsschritte:

  • Generieren von Evolutionsszenarien. Mittels InVerDa werden hiermit die einzelnen Schemaversionen in einer klassischen Datenbank (PostgreSQL) erstellt.
  • Generieren eines dynamischen Workloads für mehrere Schemaversionen.
  • Entwickeln einer Testumgebung inklusive GUI. Die Testumgebung führt den generierten Workload auf den erstellten Schemaversionen aus und stellt die Performance grafisch dar.

Alle drei Arbeitsschritte sind neben dem initialen konzeptionellen Aufwand im wesentlichen Implementierungsaufgaben. Hierbei wird hauptsächlich Java verwendet (je nach Kenntnisstand und Interesse natürlich auch weitere Tools zur Erstellung der GUI u.ä.).

Organisation

  • Die Anmeldung zum Komplexpraktikum / Forschungspraktium erfolgt per E-Mail bei den Verantwortlichen.
  • Bitte Matrikelnummer und die E-Mail-Adresse angeben.
  • Die Arbeit im Praktikum wird in Gruppen stattfinden.
  • Den Komplexpraktikumsschein erhalten entweder alle Gruppenmitglieder oder niemand, es sei denn, ein Gruppenmitglied scheidet vorzeitig aus dem Praktikum aus.