Definition

Was ist eine Graphdatenbank?

| Autor / Redakteur: Stefan Luber / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Die Graphdatenbank nutzt die mathematische Graphentheorie und speichert Daten und ihre Beziehungen mithilfe von Knoten und Kanten. Mit Graphalgorithmen lassen sich komplizierte Datenbankabfragen in hoher Geschwindigkeit ausführen. Graphdatenbanken weisen gegenüber relationalen Datenbanken ein anderes Funktionsprinzip auf.

Die Graphdatenbank gehört zur Kategorie der NoSQL-Datenbanken und verwendet zur Speicherung von Daten und deren Beziehungen andere Prinzipien und Strukturen als klassische relationale Datenbanken. Unter Nutzung der mathematischen Graphentheorie kommen sogenannte Knoten und Kanten für die Abbildung der Informationen zum Einsatz. Es lassen sich stark vernetzte Informationen speichern und übersichtlich darstellen.

Bekannte Konzepte für Graphdatenbanken sind der Labeled-Property Graph (LPG) und das Resource Description Framework (RDF). Zur Abfrage von Informationen kommen spezialisierte Algorithmen zum Einsatz, die komplexe Abfragen vereinfachen und beschleunigen.

Große Stärke der Graphdatenbank ist es, reale, stark vernetzte Sachverhalte auf natürliche Art ohne komplizierte Datenbankkonstrukte zu speichern. Die Vernetzung der Daten ist dem menschlichen Denken sehr ähnlich. Oft genutzte Graphdatenbanken sind die hochleistungsfähige Graphdatenbank-Engine Amazon Neptun oder die Open-Source-basierte, nichtrelationale Graphdatenbank Neo4j.

Aufbau und Datenstruktur der Graphdatenbanken

Graphdatenbanken setzen sich aus den Elementen „Knoten“ und „Kanten“ zusammen. Knoten stellen in visueller Darstellung Punkte dar, die durch Linien (Kanten) verbunden sind. Ein Knoten repräsentiert eine Entität. Kanten verbinden die Entitäten miteinander und stellen die Relationen zwischen den Knoten dar. Die Beziehungen können symmetrisch sein oder eine Richtung haben. Knoten sind durch eindeutige Bezeichner identifizierbar und besitzen eine bestimmte Menge von eingehenden, ausgehenden oder ungerichteten Beziehungen zu anderen Knoten.

Zusätzlich lassen sich Kanten gewichten. Dadurch ist es möglich, einer Beziehung ein gewisse Qualität zuzuweisen. Qualitäten können beispielsweise Zeiten oder Entfernungen sein. Zur Speicherung der Knoten und Kanten sind spezielle Datenstrukturen wie Adjazenzmatrizen oder Indizenzmatrizen erforderlich. Während Adjazenzmatrizen für stark vernetzte Graphen zum Einsatz kommen, eignen sich Indizenzmatrizen eher für schwach vernetzte Graphen.

Das Durchsuchen von Graphdatenbanken ist mit spezialisierten Graphalgorithmen möglich. Mithilfe der Algorithmen sind komplexe Abfragen in kurzer Zeit möglich. Die Algorithmen durchqueren die Graphen, finden indirekte oder direkte Nachbarn, identifizieren stark vernetzter Regionen innerhalb eines Graphen oder berechnen kürzeste Pfade zwischen zwei Knoten. Grundsätzlich kann zwischen der Tiefensuche und der Breitensuche unterschieden werden. Die Tiefensuche besucht zunächst den nächst tieferen Knoten. Die Breitensuche durchsucht im ersten Schritt alle Nachbarknoten einer Ebene und wechselt anschließend erst auf die nächst tiefere Ebene.

Abgrenzung der Graphdatenbank zur relationalen Datenbank

Graphdatenbanken und relationale Datenbanken unterscheiden sich grundsätzlich in Struktur, Aufbau und Arbeitsweise. Relationale Datenbanken nutzen Tabellen und Zeilen zur Verwaltung der Daten. Eine Zeile einer Tabelle repräsentiert einen Datensatz. Die Spalten der Zeile stellen die Attributswerte des Datensatzes dar. Über das Relationsschema sind Anzahl und Typ der Attribute festgelegt. Die Beziehungen zwischen verschiedenen Tabellen stellen eindeutige Schlüssel her. Graphen sind auch in relationalen Datenbanken abbildbar. Allerdings ist die Speicherung stark vernetzter Informationen durch die implizite Abbildungsmethode sehr aufwendig. Graphdatenbanken bieten durch ihr explizites Graphenmodell performantere Speicherungsmöglichkeiten.

Vorteile durch den Einsatz von Graphdatenbanken

Für bestimmte Anwendungsszenarien und die Speicherung von stark vernetzten Informationen bieten Graphdatenbanken einige Vorteile. Diese sind unter anderem:

  • keine starren, unflexiblen Tabellenstrukturen wie in relationalen Datenbanken
  • einfache, anschauliche und dem menschlichen Denken ähnliche Abbildung der Beziehungen der Daten untereinander
  • keine Abhängigkeit der Abfragegeschwindigkeit von der Gesamtmenge der Daten
  • hohe Abfragegeschwindigkeit auch bei komplexen Suchanfragen und stark vernetzten Beziehungen
  • hohe Agilität und Flexibilität des Datenmodells – keine komplizierte Schemenmigrationen wie bei relationalen Datenbanken

Die verschiedenen Abfragesprachen für Graphdatenbanken

Für relationale Datenbanken existiert die einheitliche Abfragesprache SQL (Structured Query Language). Eine solche Sprache ist für Graphdatenbanken nicht verfügbar, da kein einheitlicher Standard definiert ist. Unterschiedliche Graphdatenbanken nutzen unterschiedliche Abfragesprachen. Bekannte Abfragesprachen sind beispielsweise:

  • Cypher: Abfragesprache für Neo4j
  • Gremlin: Open-Source-basierte Abfragesprache für verschiedene Graphdatenbanken wie Neo4j, OrientDB oder DEX
  • SPARQL: von der W3C spezifizierte Abfragesprache für RDF-Datenmodelle
  • Blueprints: für verschiedene Graphdatenbanken nutzbare Java-API
  • GraphQL: SQL-artige Abfragesprache
  • Rexster: von mehreren Herstellern unterstützte HTTP/REST-Schnittstelle für die Abfrage von Graphdatenbanken per Internet

Typische Anwendungen für die Graphdatenbank

Graphdatenbanken eignen sich für Anwendungen besonders gut, bei denen es überwiegend um die Speicherung und die Analyse von Verbindungen und Beziehungen geht. Es lassen sich beispielsweise Daten aus sozialen Netzwerken hinterlegen und umfangreich auswerten. Weitere Anwendungsbeispiele sind die Abbildung komplexer Beziehungen des Supply Chain Managements, die Datenanalyse in Customer-Relationship-Management-Systemen, die Analyse von Kundenprofilen, Risikoanalysen, die Netzwerkfehlersuche oder die Optimierung des Routings in Netzwerken.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Neo4j geht in Version 4.0 an den Start

Graphdatenbank aktualisiert

Neo4j geht in Version 4.0 an den Start

Die Graphdatenbank Neo4j ist ab sofort in Version 4.0 erhältlich. Das neue Release soll unter anderem für unbegrenzte Skalierbarkeit und höhere Flexibilität für vernetzte Daten sorgen. lesen

Neo4j bringt Graphdatenbank in die Cloud

DBaaS mit Neo4j Aura

Neo4j bringt Graphdatenbank in die Cloud

Wer vernetzte Daten managen, auswerten und sinnvoll für Geschäftsprozesse nutzt, verschafft sich im Zeitalter von Big Data und IoT einen wichtigen Vorsprung. Amazon und Google haben dafür eigene Graphdatenbanken entwickelt. Mit Neo4j Aura kommt nun eine Graphdatenbank-as-a-Service, mit der auch kleinere und mittlere Unternehmen zum Zug kommen. lesen

Graph-Datenbanken

E-Book von BigData-Insider

Graph-Datenbanken

Aus dem täglichen Umgang mit dem Internet ist die Nutzung von verknüpften Daten nicht mehr wegzudenken. Seien es Freundschaftskreise auf Facebook und LinkedIn, Taxi-Anforderungen auf Uber oder Empfehlungen auf Amazon und Ebay – immer tritt im Hintergrund eine Datenbank in Aktion, die verwandte Daten sucht und miteinander in Beziehung setzt. Dabei handelt es sich in den meisten Fällen um eine Graph-Datenbank. lesen

Neo4j Aura setzt auf die Cloud

Graphdatenbank-as-a-Service

Neo4j Aura setzt auf die Cloud

Mit Neo4j Aura ist ab sofort eine vollständig verwaltete native Graphdatenbank-as-a-Service verfügbar. Laut Hersteller Neo4j eignet sich die skalierbare Lösung für datenintensive Anwendungen. lesen

Neo4j Streams ermöglicht Echtzeit-Integration in Kafka

Connector für direkte Einblicke

Neo4j Streams ermöglicht Echtzeit-Integration in Kafka

Neo4j, Anbieter der gleichnamigen Graphdatenbank, hat eine Integration in Apache Kafka und die Confluent-Plattform angekündigt. Demnach ermöglicht Neo4j Streams die Verknüpfung von Kafka-Event-Streams, um schneller auf Ereignisse reagieren zu können. lesen

TigerGraph bietet seine Datenbank stundenweise an

Datenbank-as-a-Service

TigerGraph bietet seine Datenbank stundenweise an

Während Unternehmen wie Google oder LinkedIn ihr komplettes Geschäft auf Graph-Datenbanken aufgebaut haben, benötigen andere ein solches Werkzeug nur selten. An diese Kunden richtet sich das jüngste Angebot des kalifornischen Softwareunternehmens TigerGraph: Unter der Bezeichnung „TigerGraph Cloud“ bietet es seine Software „as a Service“ an – wenn es denn sein soll, auch nur für eine Stunde lesen

Neo4j vereinfacht Zugang zu Start-up-Programm

Enterprise Edition kostenlos

Neo4j vereinfacht Zugang zu Start-up-Programm

Ab sofort erhalten Start-ups mit bis zu 50 Mitarbeitern und drei Millionen Euro Jahresumsatz die Graphdatenbank Neo4j in der Enterprise Edition im Rahmen des Neo4j-Start-up-Programms kostenlos. lesen

Graphdatenbanken helfen bei der biomedizinischen Forschung

Neo4j in der Forschung

Graphdatenbanken helfen bei der biomedizinischen Forschung

Relationale Datenbanken stoßen in vielen Anwendungsbereichen an ihre Leistungsgrenzen. Einer davon ist die biomedizinische Forschung. Neuere Ansätze wie Graphdatenbanken können helfen, neue Zusammenhänge in höchst heterogenen Datenbeständen zu entdecken. lesen

TIBCO erweitert Connected Intelligence Cloud

Blockchain, Smart Contracts und exklusives Debüt auf AWS

TIBCO erweitert Connected Intelligence Cloud

TIBCO Software (TIBCO) ergänzt die Connected Intelligence Cloud um Funktionen für Business Event Processing (BEP), API-Lifecycle-Management und Visual Analytics. Zudem erweitert der Anbieter seine Partnerschaft mit AWS und bietet per TIBCO LABS Einblick in aktuelle Entwicklungen. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 45680438 / Definitionen)