Aufbereitung und Analyse von Big Data mit NoSQL Graphdatenbanken spielen bei stark vernetzten Daten ihre Stärken aus

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 abspeichern. Graphdatenbanken dagegen spielen bei solchen Datenmodellen ihre Stärken aus.

Firmen zum Thema

Der Autor: Holger Temme ist Area Director CEMEA bei Neo Technology
Der Autor: Holger Temme ist Area Director CEMEA bei Neo Technology
(Bild: Neo Technology)

Die Menge an neuen Daten, die in Unternehmen erhoben werden, nimmt jedes Jahr exponentiell zu. Mit der Menge der Daten wächst zugleich deren Komplexität. Die Daten haben weniger Struktur und sind stärker miteinander verbunden. Die relationalen Datenbanken – bekannt als SQL-Datenbanken – stoßen bei komplexen Berechnungen an ihre Grenzen. Für Unternehmen wird es schwieriger, in der benötigten Geschwindigkeit Analysen durchzuführen und gewinnbringende Erkenntnisse daraus zu ziehen. Daher wurden neuen Technologien entwickelt, um die Skalierungsfähigkeit und Performance bereitzustellen, die für die Aufbereitung und Analyse von Big Data erforderlich ist – bekannt unter dem sehr heterogenen Sammelbegriff NoSQL.

Kein Allheilmittel

Aktuelle Entwicklungen und Investitionen bei diesen alternativen Technologien zeigen jedoch, dass sich der NoSQL-Begriff zunehmend auflöst und sich drei Hauptkategorien mit ihren jeweiligen Charakteristika herauskristallisieren: dokumentenorientierte Datenbanken, Key-Value-Datenbanken und Graphdatenbanken. Aber keine der neuen Datenbanksysteme nimmt für sich in Anspruch, die bestehenden relationalen Architekturen ersetzen zu können. Selbst untereinander machen sie sich keine Konkurrenz. Vielmehr haben sie jeweils für gewisse Anwendungsfälle ihre Vorteile und bieten sich so als sinnvolle Ergänzungen an. Daten sind unterschiedlich strukturiert und müssen daher anders verarbeitet werden.

Bildergalerie

Ein „One-database-fits-all“-Ansatz widerspricht im zunehmenden Maße den Anforderungen von Unternehmen. Für viele Marktbeobachter steht fest, dass sich Daten in Zukunft nicht mehr mit einer einzigen Datenbanktechnologie effizient beherrschen lassen. Der Trend geht zu einem hybriden oder polyglotten Ansatz, bei dem mehrere unterschiedliche Systeme eingesetzt werden. Graphdatenbanken beispielsweise eignen sich besonders gut bei stark vernetzten Daten.

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. Sowohl die Knoten als auch die Kanten können Eigenschaften, sogenannte Properties besitzen. Graphen werden meistens dargestellt durch einzelne Kreise, die mit Linien verbunden sind. Anschauliche Beispiele dafür sind Stammbäume, Mindmaps oder das U-Bahn-Netz einer Stadt. Eine wichtige Anwendung des Graphenmodells ist die Suche nach einer kürzesten Route zwischen zwei Orten in einem Straßennetz.

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 die gleiche Bedeutung zu (beispielsweise „wer kauft was“ oder „welcher Kauf fand zuerst statt“). 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.

Schnelle Performance bei stark verknüpften Daten

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

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, die dann sowohl Abfragen für BI als auch für Echtzeit-Anwendungsfälle weiter beschleunigen können.

Das Netz von Informationen in Graphdatenbanken kann direkt in eine visuelle Repräsentation überführt werden. Es sind keine zusätzlichen Verarbeitungsschritte notwendig. Der Nutzer kann sich so relevante Ausschnitte der Datenbank direkt am Beispiel zeigen lassen und so die gewünschten Informationen gewinnen. Im einfachsten Fall erfolgt das durch eine Graph-Visualisierung. Bei größeren Datenmengen unterstützen spezialisierte Visualisierungs-Tools die automatische Aggregation, Clusterfindung, Geo-Darstellung oder Vergleichbarkeit über verschiedene Datensets.

Die Technologie von Internetriesen wie Google, Facebook und LinkedIn basiert auf Graphdatenbanken. Diese Unternehmen mussten ihre eigenen Datenbanken mühsam intern entwickeln. Heute dagegen können Unternehmen auf kommerzielle Datenbank-Engines wie Neo4j zurückgreifen.

Als Ergänzung zu relationalen Datenbanken nutzen Unternehmen jeder Branche Graphdatenbanken, um Datenvernetzungen und -zusammenhänge schnell abbilden zu können. Abfragen, die in anderen Datenbank-Technologien noch Minuten oder gar Stunden dauerten, liefern jetzt in Millisekunden das Ergebnis.

Der Performance-Vorteil von Graphdatenbanken ermöglicht Unternehmen, innovative Anwendungen zu entwickeln und Wettbewerbsvorteile zu erreichen. Die Analysten von Forrester prognostizieren daher, dass 2017 über 25 Prozent der Unternehmen Graphdatenbanken verwenden werden.

Datennetzwerke schneller analysieren

Graphdatenbanken bieten beispielsweise Vorteile für Echtzeit-Routenberechnungen in komplexen Logistiknetzwerken. Große Logistikdienstleister müssen mehrere Tausend Sendungen pro Sekunde bearbeiten und die jeweils kosteneffizienteste Zustellroute in Höchstgeschwindigkeit kalkulieren. Auch neue Service-Angebote im Onlinehandel wie der Vorschlag unterschiedlicher Zustellformen während des Kaufvorgangs benötigen Echtzeit-Berechnungen. Mit relationalen Datenbanken würden die gleichen Abfragen in derselben Geschwindigkeit wesentlich mehr Rechnerleistung und Hardwarekapazitäten benötigen.

Den Onlinehandel unterstützen Graphdatenbanken zusätzlich mit Echtzeit-Produktempfehlungen. Für die Erstellung attraktiver Angebote müssen Daten zu den früheren Käufen des Kunden schnell abgefragt und Verbindungen zu Benutzern hergestellt werden, die ein ähnliches Kaufverhalten aufweisen und deren soziale Netzwerke sich mit dem des Kunden überschneiden. Diese komplexe Analyse muss in Echtzeit stattfinden, damit der Kunde nicht zur Website eines Wettbewerbers wechselt.

Ein weiterer Anwendungsfall ist die Bekämpfung von Versicherungsbetrug. Durch soziale Netzwerkanalyse lassen sich Beziehungen zwischen Personenkreisen aufdecken, die sich wie Fremde verhalten. In relationalen Datenbanken müssten dafür zahlreiche Tabellen mehrfach miteinander verknüpft werden, wodurch Berechnungen kostspielig und zeitintensiv sind. Graphdatenbanken sind zur Abfrage verschlungener Netzwerke konzipiert und können daher Betrügerringe leichter identifizieren.

Artikelfiles und Artikellinks

(ID:42986261)