Software und Strategien für den erfolgreichen Mittelstand

Vom mathematischen Modell zum Geschäftsmodell

Mit Graphdatenbanken und Big Data: schneller am Ziel

Holger Temme, Area Director CEMEA bei Neo Technology
Holger Temme, Area Director CEMEA bei Neo Technology

Als Ergänzung zu relationalen Datenbanken nutzen Unternehmen jeder Branche Graphdatenbanken, um Datenvernetzungen und -zusammenhänge schnell abbilden und Abfragen erstellen zu können. Bei extrem vielen, dynamisch verknüpften Datensätzen erleiden Graphdatenbanken meist keine Performance-Verluste. Abfragen, die in anderen Datenbank-Technologien noch Minuten oder gar Stunden dauerten, liefern jetzt in Millisekunden das Ergebnis.

Dieser Geschwindigkeitsvorteil von Graphdatenbanken eröffnet Unternehmen – vom Start-up bis hin zum internationalen Konzern – neue Wege, innovative Anwendungen zu entwickeln und Wettbewerbsvorteile zu erreichen – beispielsweise Echtzeitempfehlungen für Online-Shops. Die Analysten von Forrester prognostizieren daher, dass 2017 über 25 Prozent der Unternehmen Graphdatenbanken verwenden werden.

Graphdatenbanken

Unterschied zwischen relationalen Datenbanken und Graphdatenbanken
Unterschied zwischen relationalen Datenbanken und Graphdatenbanken. Quelle: Neo Technology

Ein Graph ist eine abstrakte Struktur, die eine Menge von Objekten zusammen mit den zwischen diesen Objekten bestehenden Verbindungen repräsentiert (sogenannte Knoten und Kanten). 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, Mind-Maps oder das U-Bahn-Netz einer Stadt.

Graphdatenbanken eignen sich besonders gut, um stark vernetzte und/oder unstrukturierte Informationen anschaulich darzustellen. Denn sie messen den gespeicherten Daten und der Beziehung zwischen diesen Daten die gleiche Bedeutung bei. Da sie zugleich unzählige dieser gerichteten Beziehungen zwischen den einzelnen Entitäten unterstützen, entsteht ein umfangreicher semantischer Kontext für die Daten. Daraus lassen sich dann speziell im Bereich des CRM (Customer Relationship Management) Empfehlungen ableiten.

Diese Empfehlungen sind in diesem Kontext ein recht unspektakulär klingender Begriff, hinter dem sich dann aber eine hohe Innovationsstufe steht. Denn die Echtzeit-Produktempfehlungen sind individuell auf eine Zielperson zugeschnitten und ermöglichen Unternehmen eine maximale Wertsteigerung. Hinter der Erstellung attraktiver Angebote steckt eine hochmoderne Technologie, die die Kaufgewohnheiten der Kunden erfasst und aktuelle Kaufentscheidungen sofort analysiert. Anhand dieser Daten werden die am besten geeigneten Produktempfehlungen abgegeben. Diese komplexe Analyse muss in Echtzeit stattfinden, damit der Kunde nicht zur Website eines Wettbewerbers wechselt.

Das Herzstück der Technologie für Echtzeit-Empfehlungen ist die Graphdatenbank, die den bisherigen relationalen Datenbanken weit überlegen ist. Graphdatenbanken übertreffen sowohl relationale als auch NoSQL-Datenbanken, wenn es darum geht, große Mengen an Käufer- und Produktdaten (bzw. verbundene Daten im Allgemeinen) zu verbinden, um Erkenntnisse zu Kundenbedürfnissen und Produkttrends zu erlangen.

Anwendungsfälle

Die Technologie von Internetriesen wie Google, Facebook und LinkedIn basiert auf Graphdatenbanken. Diese Pioniere mussten ihre eigenen Datenbanken intern entwickeln. Heute dagegen können Unternehmen, die Echtzeit-Empfehlungen nutzen möchten, fertige Graphdatenbanken wie Neo4j erwerben.

Graphdatenbanken bieten Unternehmen Profit- und Produktivitätssteigerungen, eBay beispielsweise nutzt die Neo4j-Graphdatenbank für anspruchsvolle Routenplanung in Echtzeit. Der eBay-Senior-Entwickler Volker Pacher sagt: „Unsere Neo4j-Lösung ist im wahrsten Sinne des Wortes tausendmal schneller als die vorherige MySQL-Lösung. Für Abfragen ist jetzt zehn- bis hundertmal weniger Code erforderlich. Dank Neo4j steht uns ein völlig neuer Funktionsumfang zur Verfügung.“

Neben eBay nutzen auch viele andere Unternehmen Neo4j als zentrale Plattform für geschäftskritische Systeme. Laut DB-Engines2, einer Website zur Bewertung von Datenbankmanagementsystemen, ist Neo4j die weltweit am meisten genutzte Datenbank2. Die Beliebtheit von Graphdatenbanken steigt wesentlich schneller als die anderer Datenbanken – allein im letzten Jahr um 250 Prozent. Den Autoren von DB-Engines zufolge werden Graphdatenbanken für Entwickler immer interessanter. Es lohnt sich also, sich diese Datenbanken etwas genauer anzusehen.

Ganz ohne Joins

Die Einzigartigkeit der Funktionsweise von Graphdatenbanken basiert darauf, dass den gespeicherten Daten (Kunden, Produkte) und der Beziehung zwischen diesen Daten (wer kauft was, wer „mag“ wen, welcher Kauf fand zuerst statt) die gleiche Bedeutung beigemessen wird. Graphdatenbanken kommen ohne das in semantischer Hinsicht unzulängliche Datenmodell und die unberechenbaren Joins relationaler Datenbanken aus.

Sie unterstützen stattdessen viele benannte, gerichtete Beziehungen zwischen Instanzen oder Knoten. So entsteht ein umfangreicher semantischer Kontext für die Daten. Jetzt kann beispielsweise gleichzeitig angegeben werden, dass ein Benutzer verheiratet ist, eine Spielkonsole besitzt, mit der er nicht zufrieden ist, einen Store besucht hat, von dem er begeistert war usw. Und da es keinen Aufwand zum Erstellen von Joins gibt sind die Abfragen ausgesprochen schnell.

Dadurch eignen sich Graphdatenbanken besonders gut für Empfehlungen. Denn zu optimalen Empfehlungen – und der damit verbundenen maximalen Wertsteigerung – gehört weit mehr als die Angabe meistverkaufter Produkte. Meistverkaufte Produkte spielen beim Identifizieren der besten Empfehlungen durchaus eine Rolle, sind aber nicht individuell auf einzelne Kunden zugeschnitten. Heute sind präzise auf den Kunden im „Long Tail“ zugeschnittene Empfehlungen gefragt, keine universellen Vorschläge.

Für Echtzeit-Empfehlungen müssen Daten zu den früheren Käufen des Kunden schnell abgefragt werden können, um Verbindungen zu Benutzern herzustellen, die ein ähnliches Kaufverhalten aufweisen und deren soziale Netzwerke sich mit dem des Kunden überschneiden. Außerdem müssen neu erkennbare Interessen des Kunden sofort erfasst werden können. Das Zusammenführen alter und neuer Daten zum Kaufverhalten ist für Graphdatenbanken wie Neo4j entscheidend. (rhh)