Hasso-Plattner-Institut
  
    • de
Hasso-Plattner-Institut
Prof. Dr. Holger Giese
  
 

Projekthintergrund

Graphdatenbanken gewinnen, z.B. in Form von sozialen und wissenschaftlichen Netzwerken, Mediendatenbanken und Inferenzsystemen, an Popularität. Im Gegensatz zu relationalen Datenbanken unterliegen die Inhalte von graphbasierten Datenbanken einer Graphstruktur und bieten spezialisierte Graphalgorithmen an, um Suchanfragen zu vereinfachen. Die Suchanfragen selbst können dabei durch Teilgraphen beschrieben werden nach denen in der graphbasierten Datenbank zur Beantwortung der Suchanfrage gesucht wird. Die Inhalte von graphbasierten Datenbanken müssen dabei in Form von Updates aktuell gehalten werden. Suchanfragen und Updates können dabei durch sogenannte Graphtransformationen umgesetzt werden.

Suchanfragen und Updates operieren auf beliebig großen graphbasierten Daten und können beliebig nebenläufig auftreten. Da Updates, im Gegensatz zu Suchanfragen, Seiteneffekte auf die Inhalte der graphbasierten Datenbank haben, müssen Konsistenz und Atomarität sichergestellt werden was eine parallele Abarbeitung von Suchanfragen und Updates erschwert.

In diesem Bachelorprojekt wird zusammen mit dem SAP Innovation Center basierend auf der Theorie von Graphtransformationen eine Graphdatenbank konzipiert und prototypisch implementiert. Dabei soll besonderer Wert auf die Parallelisierung im Hinblick auf aktuelle Multi-Core Systeme gelegt werden während andere Aspekte wie z.B. Persistenz für den Prototypen nicht betrachtet werden sollen.

Projektgegenstand

Ziel dieses Bachelorprojekts ist die Konzeption und Implementierung einer graphbasierten Datenbank. Dafür ist eine detaillierte Erhebung von Anforderungen hinsichtlich eines Framework für Graphdatenbanken auf Basis von Graphtransformationskonzepten und Multi-Core Architekturen erforderlich. Diese Anforderungen sind u.a. a) effiziente Datenstrukturen, die nebenläufigen Zugriff erlauben, b) ein Eventsystem für effizientes Änderungsmanagement, c) die Kompatibilität mit bestehenden Modell-basierten Softwarewerkzeugen, d) die Austauschbarkeit des verwendeten Graphtransformationssystems (z.B. Henshin, Story Diagram Interpreter) sowie e) die Konfigurierbarkeit des Frameworks zu Evaluierungszwecken.

Im weiteren Verlauf des Projektes sollen diese Anforderungen konzeptionell erfasst und abschließend in Form eines Framework auf Basis des Eclipse Modeling Framework (EMF) implementiert werden.

Das Konzept und dessen Implementierung soll auf Basis großer Beispiele in verschiedenen Konfigurationen evaluiert werden. Dazu ist eine vorherige Datenbeschaffung und Datenaufbereitung notwendig. Außerdem soll das implementierte Framework mit existierenden Lösungen zu verglichen werden.