Untersuchung zur Eignung von Graphdatenbanksystemen für die Analyse von Informationsnetzwerken

Authors: 
Junghanns, Martin
Year: 
2014
Language: 
German
Abstract: 
In der vorliegenden Masterarbeit werden verschiedene Graphdatenbanksysteme in einer funktionalen und technischen Evaluation hinsichtlich ihrer Eignung für ein aktuelles Forschungsvorhaben der Abteilung Datenbanken der Universität Leipzig untersucht. Ziel des Forschungsprojektes ist die Integration von Unternehmensdaten in ein Informationsnetzwerk und eine darauf aufbauende graphenorientierte Analyse der Daten. Im Rahmen der Auseinandersetzung mit den theoretischen Grundlagen der Thematik wird zunächst auf die erforderlichen graphentheoretischen Konzepte sowie auf Informationsnetzwerke und weitere Netzwerkarten eingegangen. Jeder Netzwerktyp ist dabei mit unterschiedlichen Einsatzgebieten verbunden, die daraus resultierenden Anforderungen führen zur Einteilung der graphenbasierten Softwaresysteme in die Kategorien Graphdatenbanksysteme, Graph Processing Systems sowie Visualisierung- und Analysesoftware. Der Fokus wird auf Graphdatenbanksysteme gelegt, da diese sich durch ihre Ausrichtung auf lokale, traversierende Anfragen in Verbindung mit klassischen Datenbankfunktionalitäten, wie zum Beispiel Mehrbenutzerfähigkeit und Konsistenzerhaltung, für das Forschungsprojekt eignen. Neben der Definition verschiedener Ausprägungen von Graphdatenbanksystemen wird auf die eingesetzten Datenmodelle eingegangen. Die theoretische Vorbetrachtung schließt mit der Definition graphenspezifischer Operationen, die für die Analyse von Informationsnetzwerken relevant sind. Die Vielzahl verschiedener Implementierungen macht es erforderlich, zunächst im Rahmen der funktionalen Analyse kategorisierte Anforderungen aus den Projektzielen abzuleiten und auf deren Grundlage eine erste Auswahl zu treffen. Nach der Differenzierung in obligatorische und optionale Anforderungen konnten aus den ursprünglich in Betracht gezogenen 22 Graphdatenbanksystemen vier Systeme ausgewählt werden: Neo4j, HyperGraphDB, OrientDB und Titan. Die sich anschließende detaillierte Untersuchung der Systeme betrachtet das Datenmodell, die Zugriffs- und Indexmechanismen, die Persistenz- und Cacheverwaltung sowie die Verteilung und Skalierbarkeit. Der Vergleich ergab, dass vor allem Neo4j und Titan aufgrund ihres hohen Funktionsumfangs an graphenspezifischen Operationen und durch ihre effizienten Speicher- und Verteilungsmechanismen für den Einsatz innerhalb des Forschungsprojektes in Frage kommen. Die Leistungsfähigkeit beider Systeme wird in einem abschließenden Benchmark verglichen, dabei werden die Ausführung analytischer Anfragen sowie die Anfrageformulierung in den jeweiligen Anfragesprachen bewertet. Die Messungen haben gezeigt, dass sich auch in technischer Hinsicht beide Systeme aufgrund des gezeigten Leistungsverhaltens für das Projekt eignen. Die Präferenz liegt bei Neo4j, da es im Vergleich durch Unterstützung der deklarativen Anfragesprache Cypher und der imperativen Anfragesprache Gremlin den größeren Funktionsumfang aufweist und im Benchmark bei der Mehrzahl der Anfragen ein besseres Antwortzeitverhalten zeigt.
AttachmentSize
ma_junghanns.pdf1.39 MB