Suche
„Epidemien sind ein Graph – und Graphen verbreiten sich epidemisch“

Wenn aus Daten Wissen wird: Zu Besuch auf der GraphConnect London

Diana Kupfer

Neo4j ist zweifelsohne eine Pioniertechnologie: Der Begriff „Graphdatenbank“, der heute ihresgleichen bezeichnet, war noch nicht einmal geprägt, als die Java-Technologie vor mehr als zehn Jahren das Licht der Welt erblickte. Mittlerweile hat Neo4j eine beeindruckende Erfolgsgeschichte zu verzeichnen – und der Hype wird immer größer. Um den Erfolg Neo4js zu zelebrieren und nicht nur Daten, sondern auch die wachsende Community zu vernetzen, veranstaltet das Unternehmen Neo Technology, das die Neo4j-Entwicklung seit 2007 offiziell finanziert, seit einiger Zeit auch Konferenzen. Zur fünften – und ersten europäischen – „GraphConnect“ fanden sich am 18. und 19.11. Nutzer und Fans von Neo4j im Londoner Dexter House ein.

2000 war das Jahr, in dem alles anfing. Schon damals war abzusehen, dass die Speicherung von Daten nach den traditionellen Datenbanksystemen früher oder später an ihre Grenzen stoßen würde. Zu reichhaltig waren die Verknüpfungen der abgelegten Daten untereinander, zu aufwändig JOIN-Operationen, zu niedrig die Abfragegeschwindigkeiten, als dass relationalen Datenbanken die Konkurrenz durch Not-only-SQL-Alternativen erspart geblieben wäre. Aber auch Key Value Stores, dokument- und spaltenorientierte Datenbanken, die Martin Fowler unter dem Begriff „Aggregate-oriented Databases“ zusammenfasste, trugen den Verbindungen der Daten untereinander nicht genügend Rechnung.

Den Neo4j-Gründern schwebte daher eine wirklichkeitsgetreue Speicherung von Informationen in Form von Netzwerken und Verknüpfungen vor. Eine, die nicht nur die Daten selbst, sondern deren komplexes Beziehungsgeflecht realistisch abbilden und sichtbar machen würde. Damals „redete noch niemand über Graphdatenbanken“, erinnert sich Emil Eifrem, CEO von Neo Technology, in seiner Keynote, die die Hauptkonferenz eröffnete. In den Anfangstagen habe man noch unbeholfen von „Network-oriented database“ oder kurz :„Netbase“ gesprochen.

Heute, dreizehn Jahre später, erleben Graphtechnologien einen geradezu kometenhaften Aufstieg, der sich, wie Eifrem demonstrierte, in einer Google-Trend-Suche zum Begriff „Neo4j“ abzeichnet (s. Abbildung). Zwischen 30 und 40 Firmen nutzen heute Neo4j, darunter Hewlett-Packard, die Deutsche Telekom, Oracle, IBM oder Cisco. Selbst im Versicherungsbereich, dem man nicht unbedingt zutrauen würde, Cutting-Edge-Technologien in seine Unternehmens-IT zu integrieren, ist Neo4j mittlerweile vertreten. So berichteten Jan Frederik Wilhelm und Dr. Andreas Wandelt von der Intelligence Solutions AG auf der GraphConnect, wie sie sich bei der Versicherungsgruppe „Die Bayerische“ erfolgreich für Neo4j stark machten und die Alternative ObjectDB den Kürzeren ziehen musste.

Neo4j in den Google Trends: kometenhafter Aufstieg

Große Player wie Google und Facebook sind 2012 mit Knowledge Graph respektive Graph Search („Neo4j Cypher for non-techies“, so die von Eifrem zitierte humorvolle Bezeichnung von Patrick Baumgartner) auf diesen Zug aufgesprungen und bestätigen Emil Eifrem, Peter Neubauer und ihre Mitstreiter als Vorreiter auf dem Gebiet. Der Entwickler Max De Marzi zeigte Anfang 2013 in einem eindrucksvollen Blog-Post, wie sich Informationen aus Facebook in Cypher-Statements übertragen lassen – Cypher ist die Neo4j-eigene Abfragesprache.

Auch die Visualisierung großer Datenmengen und Informationsnetzwerke ist ein wachsender Wissenschaftszweig, dem weniger ein ästhetischer Spieltrieb zugrunde liegt als die konkrete Notwendigkeit, „Big Data“ und deren Relationen anschaulich und somit begreifbar zu machen.

Wie erklärt sich dieser Hype? Eifrems Erklärung: Bis 1999 waren Suchen über Internet-Suchmaschinen wie AltaVista schlagwortbasiert. Kurz vor der Jahrtausendwende leitete Google mit seinem heute marktführenden Suchalgorithmus PageRank eine Trendwende ein – weg von discrete data, hin zu connected data: „Es wurden nicht nur Dokumente gespeichert, sondern auch deren Beziehungen untereinander“, so Eifrem. So führte der Weg von der Schlagwortsuche geradewegs zur „Entdeckung sozialer Netzwerke“ (Eifrem) – und genau dort spielen Graphtechnologien ihre Stärke aus.

In einem größeren Zusammenhang gesehen bildet die realistische Repräsentation von Datenrelationen das Fundament für personalisierte Technologien, die Robert Scoble und Shel Israel unter den Oberbegriff „The Age of Context“ stellen: Wie es Google vormacht, entsteht aus der Vernetzung einzelner Daten handfestes semantisches Wissen, auf das die Software zugreifen kann, um in jeder Situation mit ihrem Nutzer mit- und für ihn vorauszudenken.

Unsichtbare Verbindungen sichtbar machen

Trotz aller Euphorie über den Erfolg von Neo4j gaben viele Referenten der GraphConnect die Empfehlung, mögliche Einsatzszenarien der Graphdatenbank sorgsam zu prüfen. „Know your domain!“ war ein Merksatz, den Tareq Abedrabbo vom Londoner Beratungsunternehmen OpenCredo seinem Publikum mit auf den Weg gab. Abedrabbo unterschied in seinem Vortrag „Neo4j in Theory and Practice“ zwischen domainzentrischen und datenzentrischen Anwendungen. Ein klassisches Beispiel für den zuerst genannten Typ sei eine Recommendation Engine: ein wohldefiniertes Datenmodell mit „Top-Down“-Design, flexiblen, aber vorhersehbaren Datenstrukturen, die durch Nutzereingaben verändert werden. Datenzentrische Ansätze hingegen zeichnen sich Abedrabbo zufolge durch komplexe, verknüpfte Daten aus, die Netzwerke aus der realen Welt abbilden. Hier werden meist verschiedene Datenquellen miteinander integriert, das Design folgt dem „Bottom-up“-Prinzip. Ein stereotypisches Beispiel sind Telekommunikationsnetzwerke. Graphtechnologien seien zwar „naturally data-driven“, so der Referent; jedoch ließen sich die meisten Anwendungen nicht eindeutig einer Kategorie zuordnen. Für eher Domain-zentrische Applikationen empfehle sich der Einsatz eines Mapping Frameworks wie Spring Data Neo4j.

Visualisierungsstrategien widmete sich Joe Parry vom Startup Cambridge Intelligence, das sich auf diesen Bereich spezialisiert hat. „Daten sind unsichtbar, aber der Nutzer muss sie sehen können“, lautete eine seiner Kernaussagen. Die wesentliche Aufgabe des Visualisierers bestehe darin, die graphische Aufbereitung von Daten semantisch eindeutig zu gestalten und dadurch das Ungreifbare (be-)greifbar zu machen. So könne eine dicke Verbindungslinie (Kante in der Graphentheorie) zwischen zwei Objekten (Knoten) einen besonders starken Konnex repräsentieren – naheliegend, möchte man meinen. Trotzdem werden auf diesem Gebiet immer wieder gravierende Fehler gemacht. Zu den größten Entgleisungen zählt Parry 3-D-Visualisierungen, schlechte Farbschemata, fehlende Tooltipps und mangelhafte Interaktionsmöglichkeiten. Unsichtbare Verbindungen sichtbar machen – dafür hatte Glen Ford (Zeebox) in seinem Talk „Graphing the Second Screen“ wohl das publikumswirksamste Beispiel des Konferenztages parat: Aus seinem Graphenmodell ging anschaulich hervor, dass der „Dr. Who“-Schauspieler Tom Baker auch einen Auftritt in „Black Adder“ hatte und außerdem als Erzähler in „Little Britain“ agiert  – eine Verbindung, die trotz der Popularität der Serien selbst den größten Fans im Publikum nicht bewusst gewesen sein dürfte.

Viele Anwendungsfälle, eines gemeinsam: Performance

Der Nachmittag der Hauptkonferenz bot ein breites Spektrum an Erfahrungsberichten und Einsatzszenarien, in denen Neo4j unterschiedliche Stärken ausspielte – ob in der Genexpressionsanalyse, bei der Untersuchung des Nutzernetzwerks einer Spieleplattform, beim Aufbau eines Bord-Entertainmentsystems der Lufthansa Systems AG oder bei Impact-Analyse von Web-Service- und Cloud-Integrationen. „Graphs are epidemic“, konstatierte Toby O’Rourke von GameSys, worauf ein Teilnehmer das Folgende twitterte:

Ein auf der GraphConnect häufig genannter Selling Point Neo4js war die Performancesteigerung bei Abfragen. Eine Zahl, die hier besonders beeindruckte, legte Sebastian Verheughe vom norwegischen Telekommunikations-Unternehmen Telenor vor: Mit SQL-Abfragen im alten Datenbanksystem des Unternehmens hatten Abfragen innerhalb der zugänglichen Ressourcen etwa 20 Minuten gedauert. „Man konnte die Abfrage starten und dann erstmal in die Mittagspause gehen“, spöttelte Verheughe. Mit Neo4j verkürzte sich die Abfragezeit „von 20 Minuten auf Sekunden“. Voraussetzungen seien allerdings schnell ausführbarer Java-Code und ein tiefgehendes Verständnis davon, wie die Traversierung der Graphen funktioniert. Ein In-Memory-Datenbanksystem könne zwar Ähnliches leisten, jedoch sei man auch damit an SQL und dessen Komplexität gebunden. Die Präsentation Verheughes ist bereits auf Slideshare einsehbar.

Cypher und Neo4j 2.0

Wie einfach und intuitiv hingegen der Einstieg in Cypher, die deklarative ASCII-Abfragesprache, ist, demonstrierte Ian Robinson in seiner Mittagskeynote. In einer simplen Case Study übersetzte er eine Anforderung (wörtlich: „Which people, who work for the same company as I, have similar skills to me?“) in ein Datenmodell, ein Graph Pattern und schließlich eine Cypher-Query. Cypher wird ab der im Dezember erwarteten Version 2.0 von Neo4j übrigens nicht nur auf Graphen, sondern auch auf Collections anwendbar sein.

Die nächste Major-Version bringt ein weiteres neues Feature, das Eifrem in seiner Keynote hervorhob: Knotenbezeichnungen (Node Labels). So wird es möglich sein, einen Knoten mit einer beliebigen Anzahl von Bezeichnungen zu versehen. Ab 2014 werde der Fokus bei der Entwicklung auf der User Experience liegen, so Eifrem. Man sei ebenfalls bemüht, mehr potentielle Schemata einzuführen. Der Knackpunkt sei weiterhin, das diese Schemata optional blieben.

Wer sich einen Eindruck von Neo4j und den Neuerungen verschaffen möchte, dem sei Michael Hungers aktuelle Artikelserie im Java Magazin ans Herz gelegt. Eine kurze Einführung in Neo4j gab Stefan Armbruster neulich im JAX-TV-Interview.

Übrigens: Obwohl Neo4j auch oft im Sammelbecken der „NoSQL“-Technologien zu finden ist, war diese Bezeichnung auf der GraphConnect so gut wie gar nicht zu hören, wie ein scharfsinniger Konferenzteilnehmer twitterte. Das Selbstbewusstsein der Community und ihr Vertrauen in die Graphtechnologie machen eine Selbsteinordnung in übergreifende oder verwandte Trends genauso überflüssig wie eine Identifikation mit selbigen. Möglich, dass bald auch über die Neo4j-Community hinaus ein differenzierteres Verständnis von jüngeren Datenbanksystemen das Etikett „NoSQL“ verdrängt.

Geschrieben von
Diana Kupfer
Diana Kupfer
Diana Kupfer war Redakteurin bei S&S Media für die Zeitschriften Java Magazin, Eclipse Magazin und das Portal JAXenter. 
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.