Zusammenfassung

Facebook, Instagram, Twitter und YouTube sind prominente Beispiele für Plattformen, welche Menschen miteinander vernetzen und deren Anzahl an Benutzern stetig wächst. Daraus ergibt sich die Notwendigkeit in Verbindung stehende Daten effizient speichern und verarbeiten zu können.

Für das Abbilden und Speichern von Netzwerken in einem Computersystem eigenen sich Graphdatenbanksysteme (GDB). Die Verknüpfung der Informationen entspricht dabei dem Property-Graph-Modell, wobei Graphen in ihrem Aufbau den Netzwerken gleichkommen und aus Kanten und Knoten bestehen. Im Vergleich dazu gibt es relationale Datenbanken, die in der Praxis weitverbreitet sind und ebenfalls auf mehrstelligen Relationen beruhen. Das Abbilden von Netzwerken ist grundsätzlich in relationalen Datenbanken möglich, jedoch stoßen diese Datenbanken bei der Traversierung von Netzwerken an die Grenzen des Datenmodells. Aus diesem Grund ist es erforderlich sich mit GDB weiter auseinanderzusetzen. Um verschiedene Datenbanken bezüglich ihrer Leistung voneinander abgrenzen zu können, bedarf es der Definition von Benchmarks.

Dynamic Network Analyser (DNA) ist ein Framework zur Analyse von statischen und dynamischen Systemen. Im Mittelpunkt der Arbeit steht die Integration von GDB in DNA. In der ersten Ausbaustufe finden Datenbanken Berücksichtigung, die das Tinkerpop Blueprints Interface implementieren. Dadurch können gleiche Zugriffszeiten aus DNA heraus auf die verschiedenen Datenbanken und somit die Vergleichbarkeit von Messergebnissen gewährleistet werden. Die Messwerterfassung erfolgt für die GDB Bitsy, Neo4J, OrientDB und TinkerGraph. Mit dieser wird die Durchführbarkeit eines Benchmarks unter Nutzung der vorliegenden Implementierung aufgezeigt. Ein möglicher Benchmark mit Tiefensuche, Breitensuche, lokalem Clustering-Koeffizienten, Knoten- und Kanteniteration wird vorgestellt und die erfassten Messwerte für verschiedene Graphtopologien werden bezüglich ihrer Laufzeit verglichen.

Mit der Arbeit wurde die Grundlage geschaffen GDB mithilfe des DNA Frameworks bezüglich ihrer Leistung zu vergleichen. Dafür kann auf die vorhandenen Graphgeneratoren zugegriffen werden, die die GDB befüllen, auf denen anschließend selbst definierte Benchmarks ausgeführt werden können. Für Benchmarks, unter Berücksichtigung des eigenen Datenbestandes, bedarf es jedoch der Erweiterung des bestehenden Quellcodes.

Mehr