Eine Graphdatenbank ist eine Art NoSQL, die die Graphenteorie nutzt um Beziehungen zu speichern, abzubilden und abzufragen. Es werden Knoten und Kanten gespeichert.
Ein Knoten besteht aus eindeutigem Bezeichner, einer Menge von eingehenden und ausgehenden Kanten, und einer Mange von Eigenschaften, die als Schüssel-Wertepaare dargestellt werden.
Eine Kante hat auch ein en eindeutige Bezeichnung, einem start und Ziel-Knoten und eine Menge von Eigenschaften.
[TT über Graph Database]
Mit Graphenaloalgorithmen können Graphen ausgewertet werden [WP], z.B. alle Nachbarn eines Knotens zu finden, kürzeste Wege finden, Cliquen finden, stark vernetze Regionen (Hotspots) finden.
Graphdatenbanken haben die Verbindungen gespeichert, andere Datenbanken (z.B. Relationale) berechnen diese erst teuer zur Laufzeit [Neo4j]
O(1) - real time Entscheidungen möglich [Video Intro]
Keine Schema-Migrationen [Video Intro], man kann einfach Eigenschaften bei den Daten hinzufügen
Liste der Graphdatenbanken von WP, ist eine ausführliche Auflistung, besondere interessant sind: