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 |
Datenbanken nutzen spezielle Anfragesprachen, um Zugriff auf gespeicherte Daten zu ermöglichen. In relationalen Systemen werden Anfragen beispielsweise mittels SQL formuliert. SQL versteckt die physischen Eigenschaften der gespeicherten Daten wie Dateipfade, Formate, Kompression usw. hinter einer deklarativen, inhaltsorientierten Schnittstelle. Anwender formulieren ein abstrakte Beschreibung der gesuchten Daten und können sich auf das Datenbanksystem verlassen, diese Anfrage in einen effizienten physischen Anfrageplan zu übersetzen.
Im Komplexpraktikum DB-Anwendungsentwicklung soll ein neuer Ansatz zur Entwicklung und Übersetzung von Datenbank Anfragesprachen vervollständigt und erprobt werden. Als Grundlage dient eine prototypische Umsetzung, die eine Teilmenge von SQL in eine flexible interne Darstellung übersetzt. Der Prototyp ist in Scala programmiert und nutzt Scalas flexible und erweiterbare Syntax, um SQL als eingebettete domänenspezifische Sprache zu implementieren.
Im laufe des Praktikums soll der Sprachumfang des Prototyps ausgebaut werden und es soll eine Übersetzung der internen Darstellung in ausführbare Programme realisiert werden. Zielplatform der Übersetzung ist das BigData Verarbeitungs-System Apache Flink. Neben SQL kann auch die Übersetzung von konjunktiven Graph-Anfragen oder Ausdrücken der linearen Algebra untersucht werden.