Definition

Graphdatenbank

Eine Graphdatenbank, manchmal auch graphorientierte Datenbank genannt, ist eine NoSQL-Datenbank, die die mathematische Graphentheorie nutzt, um Daten zu speichern sowie Beziehungen abzubilden und abzufragen.

Eine Graphdatenbank besteht im Wesentlichen aus einer Menge von Knoten und Kanten. In einer geometrischen Darstellung werden Knoten durch Punkte und Kanten durch Linien abgebildet, welche die Punkte verbinden. Jeder Knoten repräsentiert eine Entität – wie zum Beispiel eine Person oder ein Unternehmen – und jede Kante stellt eine Verbindung beziehungsweise Relation zwischen zwei Knoten dar.

Jeder Knoten in einer Graphdatenbank ist durch einen eindeutigen Bezeichner (unique Identifier, UID) definiert, eine Menge von ausgehenden und/oder eingehenden Kanten und eine Reihe von Eigenschaften in Form von Schlüssel-Wert-Paaren.

Jede Kante wiederum wird durch einen eindeutigen Bezeichner, einen Start- und/oder End-Knoten und eine Menge von Eigenschaften definiert. Das Mantra von Graphdatenbank-Anhängern ist: „Wenn man es auf ein Whiteboard zeichnen kann, kann man es auch als Graph darstellen.“

Um komplizierte Datenbankabfragen zu vereinfachen, können die Daten in Graphdatenbanken mit einer Reihe von spezialisierten Graphalgorithmen durchsucht werden. So gibt es zum Beispiel Algorithmen, um Graphen zu durchqueren, das heißt, alle direkten und indirekten Nachbarn eines Knotens zu finden. Außerdem existieren Algorithmen, um die kürzesten Pfade zwischen zwei Knoten zu berechnen, bekannte Graphstrukturen wie beispielsweise Cliquen zu finden oder Hotspots besonders stark vernetzter Regionen im Graph zu identifizieren.

Aufgrund dieser Eigenschaften sind Graphdatenbanken gut für die Analyse von Verbindungen geeignet, wie zum Beispiel zur Untersuchung von Daten aus sozialen Medien, in denen es vor allem um soziale Netzwerke geht. Durch die Speicherung der Verbindungen zwischen den Daten sowie den Daten selbst können graphenorientierte Systeme auch schnell nach Informationen suchen und Trends erkennen. Das macht sie ebenso zu einem mächtigen Werkzeug für die Echtzeit-Analyse.

Graphdatenbanken sind nützlich für die Arbeit mit Daten aus Geschäftsdisziplinen, in denen es um komplexe Beziehungen und dynamische Schemata geht. Beispiele sind das Supply Chain Management (SCM), die Identifizierung eines IP-Telefonie-Problems und die automatische Erzeugung von Empfehlungen der Art „Kunden, die x gekauft haben, haben auch y gekauft.“

Die theoretischen Grundlagen, auf denen Graphdatenbanken basieren, gehen auf den Mathematiker Leonhard Euler zurück, der im 18. Jahrhundert gelebt hat.

Diese Definition wurde zuletzt im April 2018 aktualisiert

Erfahren Sie mehr über Business-Software

ComputerWeekly.de
Close