Zusammenhänge schnell erkennen Graphdatenbanken ermöglichen Echtzeit-Analysen in Big Data

Autor / Redakteur: Holger Temme / Nico Litzel |

Die gegenwärtige Komplexität von Big Data beruht auf zwei wesentlichen Faktoren: Unstrukturiertheit und Verbundenheit der Daten. Zugleich lassen sich Beziehungen zwischen verschiedenen Elementen nur äußerst ressourcenintensiv und kompliziert in einer relationalen Datenbank darstellen. Graphdatenbanken dagegen spielen bei solchen Datenmodellen ihre Stärken aus.

Anbieter zum Thema

(Bild: Neo Technology)

In vielen Unternehmen sind relationale Datenbanken oder auch SQL-Datenbanken der Standard. Aufgrund des Online-Transaction-Processing (OLTP) lassen sich Transaktionen ohne nennenswerte Zeitverzögerung verarbeiten. Diese Datenbanken stoßen jedoch bei komplexen Berechnungen an ihre Grenzen. Die Antwortzeiten wachsen rasant, wenn mehrere sehr große Tabellenstrukturen miteinander in Verbindung gebracht werden müssen. Echtzeit-Ergebnisse sind auf diese Weise unmöglich.

Neue Wege durch Big Data

Eine Antwort auf diese Entwicklung sind sogenannte In-Memory-Datenbanken. Diese nutzen den Arbeitsspeicher eines Computers als Datenspeicher und greifen nicht mehr auf die Festplattenlaufwerke zu. Dafür laden sie das Datenvolumen gemeinsam mit den Datenbankanwendungen in den deutlich erweiterten Hauptspeicher. Dadurch erreichen sie zwar wesentlich schnellere Abrufgeschwindigkeiten, die Größe des Arbeitsspeichers limitiert jedoch stets die zu verarbeitenden Datenmengen. Wachsen die Volumen, müssen die Speicherressourcen und damit die Kosten für zusätzliche Hardware mitwachsen.

Einen anderen Weg beschreitet das Software-Framework Hadoop, das auf Batch-Verarbeitung ausgelegt ist. Über mehrere Rechner hinweg skalierend ermöglicht es intensive Rechenprozesse mit großen Datenmengen. Die Arbeitsauslastung für die Datenanalyse wird auf mehrere Clusterknoten verteilt, um die Daten parallel zu verarbeiten. Hadoop konzentriert sich dabei in erster Linie auf unstrukturierte Daten. Allerdings erreicht das Framework naturgemäß nicht die Geschwindigkeiten, die für Echtzeitberechnungen nötig sind.

NoSQL-Lösungen

In den vergangenen Jahren wurden parallel zu Hadoop weitere Technologien entwickelt, bekannt unter dem sehr heterogenen Sammelbegriff NoSQL. Gemeinsam haben diese Datenbankmodelle nur ihre nicht-relationale Methodik. Man unterscheidet zwischen drei Hauptkategorien: dokumentenorientierte Datenbanken, Key-Value-Datenbanken und Graphdatenbanken. Keine der Datenbanksysteme nimmt für sich in Anspruch, die bestehenden relationalen Architekturen ersetzen zu können. Vielmehr haben sie jeweils für gewisse Anwendungsfälle ihre Vorteile und bieten sich so als sinnvolle Ergänzungen an.

Big Data entwickelt sich zunehmend zum Normalzustand in Unternehmen. Die Herausforderung für Datenarchitekten besteht darin, die unterschiedlichen Formen und Strukturen von Datenteilmengen zu erkennen und in entsprechenden Datenbanksystemen abzulegen. Ein „One-database-fits-all“-Ansatz passt daher nicht mehr zu den Anforderungen von Unternehmen. Der Trend geht zu einem hybriden oder polyglotten Ansatz, bei dem mehrere unterschiedliche Systeme eingesetzt werden.

Datenmodelle im Fokus

Graphdatenbanken wie Neo4j eignen sich besonders gut bei Abfragen von stark vernetzten Daten in Echtzeit. Ein Graph ist die allgemeine Bezeichnung für eine abstrakte Struktur, die eine Menge von Objekten zusammen mit den zwischen diesen Objekten bestehenden Verbindungen repräsentiert, in der Mathematik als Knoten und Kanten bezeichnet. Beide können Eigenschaften besitzen, sogenannte Properties. Graphen werden meistens dargestellt durch einzelne Kreise, die mit Linien verbunden sind. Anschauliche Beispiele dafür sind Stammbäume, Mind-Maps oder das U-Bahn-Netz einer Stadt.

In einer Graphdatenbank lassen sich Daten in Form von Graphen speichern, verwalten und abfragen. Sie eignen sich besonders gut, stark vernetzte und/oder unstrukturierte Informationen anschaulich darzustellen. Denn sie weisen den gespeicherten Daten (beispielsweise Kunden oder Produkte) und der Beziehung zwischen diesen Daten (beispielsweise „wer kauft was“ oder „welcher Kauf fand zuerst statt“) die gleiche Bedeutung zu. Diese Beziehungen werden also nicht mehr als bloße Metadaten abgetan, sondern stehen vielmehr im Zentrum des Modells.

Graphdatenbanken unterstützen unzählige dieser gerichteten Beziehungen zwischen den einzelnen Instanzen. So entsteht ein umfangreicher semantischer Kontext für die Daten. Verbindungen und Abhängigkeiten in Personen- aber auch Produktnetzwerken, wie Telekommunikationssysteme oder das immer stärker wachsende Internet of Things, können so umfangreich angegeben werden. Darauf aufbauend lassen sich neue Services entwickeln oder bestehende verbessern.

Performance und Anschaulichkeit

Graphdatenbanken erleiden bei extrem vielen, miteinander verknüpften Datensätzen keine Performance-Verluste. Denn die Datenbeziehungen müssen nicht aufwendig berechnet werden, sondern sind durch die vorliegenden Strukturen einfach verfolgbar. Die Abfragegeschwindigkeit hängt nicht von der Gesamtmenge der Daten und der Verknüpfungsoperationen ab, sondern nur von der Anzahl der konkreten, für die Abfrage relevanten Beziehungen.

Das Datenmodell lässt sich leicht mit beliebigen, zusätzlichen Hierarchien und Zugriffsstrukturen anreichern, die einen extrem schnellen Zugriff auf Teilaspekte der Daten ermöglichen. Neu gewonnene Informationen (beispielsweise Ähnlichkeit von Produkten oder relevante Empfehlungen für einen Kunden) können als neue Beziehungen im Graphen abgelegt werden.

Das Netz von Informationen sowie die Zusammenhänge zwischen den Datensätzen im Graphen lassen sich anschaulich darstellen und präsentieren. Relevante Ausschnitte der Datenbank kann der Nutzer direkt am Beispiel einsehen, und so die gewünschten Informationen gewinnen und schnell reagieren. Neo4j verfügt dazu über ein eigenes Visualisierungs-Tool. Aber auch andere, eigenständige Visualisierungssoftwarepakete unterstützen bei der automatischen Aggregation, Clusterfindung, Geo-Darstellung oder der Vergleichbarkeit über verschiedene Datensets.

Graphdatenbank für Logistik und Onlinehandel

Als Ergänzung zu relationalen Datenbanken nutzen Unternehmen jeder Branche Graphdatenbanken, um Datenvernetzungen und -zusammenhänge schnell abbilden zu können. So entwickelten Internetriesen wie Google, Facebook und LinkedIn intern eigene Technologien, die auf Graphdatenbanken basieren. Heute dagegen können Unternehmen auf kommerzielle Datenbank-Engines wie Neo4j zurückgreifen.

Große Logistikdienstleister nutzen Graph-Technologie für die Echtzeit-Routenberechnungen innerhalb der Logistik, z. B. um mehrere Tausend Sendungen pro Sekunde zu bearbeiten und die jeweils kosteneffizienteste Zustellroute in Höchstgeschwindigkeit zu kalkulieren. Auch neue Service-Angebote im Onlinehandel wie der Vorschlag unterschiedlicher Zustellformen während des Kaufvorgangs oder Produktempfehlungen benötigen Echtzeit-Berechnungen. Dazu werden Daten früherer Einkauf blitzschnell abgefragt und mit Daten solcher Kunden verbunden, die ähnliche Vorlieben besitzen und sich in gleichen sozialen Netzwerken aufhalten.

Betrügerbanden in Echtzeit entlarven

In der Finanz- und Versicherungsbranche unterstützt die Graph-Technologie die Aufdeckung von Versicherungsbetrug. Herkömmliche Methoden zur Bekämpfung von Versicherungsbetrug wie das Erkennen von abweichenden Verhaltensmustern fokussieren auf Einzelpersonen. Betrugsringe hingegen lassen sich damit nur schwer identifizieren. Graphdatenbanken hingegen können durch soziale Netzwerkanalyse Beziehungen zwischen Personenkreisen aufdecken, die sich wie Fremde verhalten – in Echtzeit, während der Betrug stattfindet, und ohne vorher zu wissen oder zu ahnen, wer mit wem verbunden sein könnte. In Kombination mit den bewährten Betrugsbekämpfungsmethoden bieten Graphdatenbanken daher Unternehmen umfassenderen Schutz vor Missbrauch.

(ID:43718842)