Graphdatenbanken sind darauf spezialisiert, vernetzte Daten abzuspeichern und extrem schnell innerhalb dieser Strukturen zu navigieren (traversieren). Wodurch wird das ermöglicht?
Die meisten Datenbanken haben Probleme, Strukturen mit vielen Beziehungen handzuhaben. Das liegt daran, dass diese Beziehungen stets zur Abfragezeit wieder hergestellt werden müssen. In den sogenannten JOINs wird versucht, alle Elemente (z.b. Zeilen in Tabellen) auf beiden Seiten der Beziehungen wieder korrekt miteinander zu verbinden. Diese Operation ist sehr prozessor- und speicherintensiv.
In einer Graphdatenbank wird dagegen die “Beziehung” als echtes Element der Datenbank abgespeichert. Man hat damit zwar zum Einfüge-Zeitpunkt die Kosten der Erstellung der Beziehung, aber während der viel häufigeren Abfragen stehen die Beziehungen bereit und können in konstanter Zeit navigiert werden – man geht einfach einen Schritt zum Endknoten auf der anderen Seite. Das ist der “Trick” einer Graphdatenbank, der die Navigation von Knoten zu Knoten so schnell macht.
Ein weiterer Vorteil: die Performance des Navigierens entlang von Beziehungen ist unabhängig von der Gesamtzahl von Knoten und Beziehungen in der Datenbank, da es sich um eine “lokale” Operation handelt. Deshalb gewinnen Graphdatenbanken immer dann, wenn man Fragen hat, die von einem überschaubaren Set von Startknoten aus beantwortet werden können (z.B. Filme, Personen, Orte, Produkte, Aufträge).
Den ganzen Artikel lesen.