Graphdatenbanken sind NoSQL-Datenbanksysteme, die Daten als Graphen modellieren: Knoten (Nodes) repräsentieren Entitäten wie Personen, Produkte oder Orte, Kanten (Edges) die Beziehungen zwischen ihnen. Dieses Property-Graph-Modell mit Knoten, Kanten und Properties (Eigenschaften als Schlüssel-Wert-Paare) macht Beziehungen selbst zu erstklassigen Daten — im Gegensatz zu relationalen Systemen, die Verbindungen erst zur Abfragezeit über JOINs rekonstruieren.
Wie funktioniert eine Graphdatenbank?
Das Datenmodell besteht aus drei Bausteinen: Knoten (diskrete Objekte), Beziehungen (gerichtete oder ungerichtete Verbindungen mit Typ wie „kennt" oder „gehört zu") und Properties (Attribute an beiden). Abgefragt wird deklarativ über eine Graph-Abfragesprache — bei Neo4j ist das Cypher, dessen Muster wie MATCH (a)-[:FREUND_VON]->(b) direkt die Graphstruktur abbilden.
Vorteile und Anwendungsfälle
- Effiziente Traversierung: Beziehungen sind physisch gespeichert; Pfade über viele Ebenen (z. B. Freundesfreunde) bleiben schnell, während sie in SQL viele JOINs erfordern.
- Flexibles Schema: Neue Knotentypen und Beziehungen lassen sich ohne Migration ergänzen.
- Typische Einsatzgebiete: Social Networks, Empfehlungssysteme, Betrugserkennung, Wissensgraphen, Netzwerk- und Supply-Chain-Analyse.
Im Ökosystem der NoSQL-Datenbanken bilden Graphdatenbanken die Beziehungs-orientierte Klasse; dokumentenorientierte Datenbanken speichern halbstrukturierte Dokumente und Key-Value-Stores einfache Schlüssel-Wert-Paare.
Verwandte Grundlagen: Cluster-Datenbank, Datenbank-Replikation, NoSQL-Datenbank.