Code-generierung zur Laufzeitoptimierung in der verteilten SPARQL-Datenbank luposdate-3000

- Bachelor-/Masterarbeit -


Beschreibung:

Bei Datenbank-Anfragen auf großen Datenmengen ist es entscheidend, die Anfragen stark zu optimieren, um in annehmbarer Zeit ein Ergebnis zu berechnen. Um Ergebnisse schneller berechnen zu können soll Code-Generierung eingesetzt werden. Die Idee ist, dass kompilierter Code schneller ausführbar ist, als generischer Code, welcher Eigenschaften der Daten wiederholt abfragen muss. Innerhalb von Datenbanken gibt es verschiedene Gebiete an denen Code-Generierung Vorteile bringen kann. Ein mögliches Gebiet wäre das Evaluieren von konkreten Filtern sowie Variablenzuweisungen. Ein anderes Gebiet ist das Zusammenfassen von aufeinanderfolgenden Operatoren zu einem komplexen Operator. Dies reduziert die Anzahl der Zwischenergebnisse. In der Bachelor/Masterarbeit soll daher ein Code-Generator implementiert werden. Mittels Kotlin soll dieser Code-Generator Multi-Plattform-Unterstützung bieten. Anschließend soll die Anfragen-verarbeitung durch Messreihen evaluiert werden.

Anforderungen/Kenntnisse:
Kotlin, Datenbank-Grundkenntnisse

Literatur:
[1] Thomas Neumann. 2011. Efficiently compiling efficient query plans for modern hardware. Proc. VLDB Endow. 4, 9 (June 2011), 539–550. DOI:https://doi.org/10.14778/2002938.2002940
[2] Neumann, T. & Leis, V. (2014), 'Compiling Database Queries into Machine Code.', IEEE Data Eng. Bull. 37 (1), 3-11.
[3] Sven Groppe, Niklas Reimer: Code Generation for Big Data Processing in the Web using WebAssembly in: Open Journal of Cloud Computing (OJCC), 2019, Vol.6, (1), p.1-15

Betreuung:

Prof. Dr. rer.nat. habil. Sven Groppe
Institut für Informationssysteme
Ratzeburger Allee 160 ( Gebäude 64 - 2. OG)
23562 Lübeck
Telefon: 0451 / 3101 5706