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 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

Kettle-Entwickler verstärkt Neo4j-Team

Matt Casters angeheuert

Kettle-Entwickler verstärkt Neo4j-Team

Mit Matt Casters konnte Neo4j einen neuen Chief Solutions Architect gewinnen. Casters ist Gründer und leitender Entwickler von Kettle, das die Grundlage für die BI-Plattform Pentaho Data Integration bildet. lesen

Neo4j geht in die Cloud

Graphdatenbank

Neo4j geht in die Cloud

Auf einer Roadshow-Veranstaltung in Berlin hat Neo4j, Hersteller einer verbreiteten Graphdatenbank, Ausblick auf die Weiterentwicklung seiner Datenbankplattform gewährt. Drei deutsche Anwender, darunter DATEV und Daimler, stellten die Projekte vor, die sie mit Neo4j realisieren. lesen

Modernes Enterprise Planning mit Anaplan

Enterprise Planning Software und Big Data

Modernes Enterprise Planning mit Anaplan

Der US-Hersteller Anaplan will den deutschen Markt für Enterprise Planning Software erobern. Statt mit Excel-Tabellen oder starrer Programmierung soll seine Software mit flexiblen Modulen alle nötigen Informationsquellen vernetzen und in einem sogenannten Hyperblock bereitstellen – natürlich in der Cloud. lesen

NoSQL-Datenbanken im Vergleich

NoSQL

NoSQL-Datenbanken im Vergleich

NoSQL-Datenbanken wurden aus der Notwendigkeit heraus entwickelt, große, unterschiedliche Mengen von Dimensionen wie Raum, Zeit und Lokation auf möglichst effiziente Weise zu speichern und zu verarbeiten. Mittlerweile sind sie die unabdingbare Alternative zu relationalen SQL-basierten Datenbanken. Doch nicht jede NoSQL-Datenbank eignet sich für jeden Zweck. Tatsächlich sind die meisten sogar recht spezialisiert. lesen

Paradise Papers wurden mit Neo4j analysiert

Graphdatenbank beim ICIJ im Einsatz

Paradise Papers wurden mit Neo4j analysiert

Für die Datenanalyse der Paradise Papers nutzt das International Consortium of Investigative Journalists (ICIJ) die Graphdatenbank Neo4j. Sie hilft bei der Bewältigung von rund 13,4 Millionen Dokumenten. lesen

Neo4j startet native Graph-Plattform

Mit KI-Analytik und Visualisierung

Neo4j startet native Graph-Plattform

Im Rahmen der GraphConnect 2017 hat Neo4j seine erste native Graph-Plattform vorgestellt. Damit vollzieht das Unternehmen den Schritt weg vom reinen Graph-Datenbankspezialisten hin zu einer deutlich breiteren Ausrichtung. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45680438 / Definitionen)