Das 2007 gegründete Unternehmen Neo Technology bietet mit Neo4J eine Java-basierte, quelloffene NoSQL-Graphdatenbank. Mithilfe einer Graphdatenbank lassen sich die Beziehungen zwischen den Daten untersuchen. Neo4j kann zur Lösung von Problemen beitragen, die eine wiederholte Netzwerkanalyse erforderlich machen und zeichnet sich durch eine ausgesprochen hohe Leistungsfähigkeit aus. InfoWorld-Redakteur Paul Krill unterhielt sich kürzlich mit Neo-CEO Emil Eifrem und Philip Rathle, Senior Director Products bei Neo , über die Bedeutung der Graphdatenbanken und das mobile Potenzial von Neo4j. Dabei zeigte sich Eifrem trotz jüngster Sicherheitsprobleme von der Zuverlässigkeit der Java-Plattform überzeugt. InfoWorld: Graphdatenbanken sind nicht mit NoSQL gleichzusetzen, oder? Eifrem: NoSQL stützt sich auf vier verschiedene Arten von Datenbanken: Da gibt es zum einen Key-Value-Datenbanken wie z. B. Amazon DynamoDB, dann spaltenorientierte Datenbanken wie Cassandra, Dokumenten-Datenbanken wie MongoDB und schließlich Graphdatenbanken wie Neo4j. Cisco entwickelt derzeit ein Masterdaten-Managementsystem auf Basis von Neo4j und ist damit unser erster Fortune 500-Kunden. Unsere Geschäftsbeziehung begann vor ca. zwei Jahren, als Cisco versuchte, eine umfangreiche und komplexe Hierarchie innerhalb von Oracle RAC aufzubauen. Mit Oracle RAC mussten die Cisco-Mitarbeiter minutenlang auf Antwort warten. Nach dem Umstieg auf Neo4j war die Antwort innerhalb von Millisekunden da! InfoWorld: Wie hat Cisco das geschafft? Eifrem: Die bessere Performance von Neo4j ist letztlich darauf zurückzuführen, dass das Graphenmodell auf dem Konzept der miteinander vernetzten Daten beruht. Das relationale Datenbankmodell geht dagegen auf die 1970er Jahre zurück, als Datenbanken fast nur zum Sortieren von Tabellendaten genutzt wurden. InfoWorld: Sind Graphdatenbanken auf eine einzige Maschine beschränkt? Eifrem: Neo4j ist ein Open-Source-Projekt. Seine Community Edition ist eine vollfunktionale Graphdatenbank, die aber nur auf einer einzigen Maschine läuft. Daneben gibt es die kommerzielle Version Neo4j Enterprise, die von großen Unternehmen wie Cisco und Adobe genutzt wird. Mehr als 20 der Global 2000 arbeiten mit Neo4j Enterprise, wobei die Neo4j-Engine auf einen großen Maschinen-Cluster verteilt ist. InfoWorld: Was ist Ihrer Ansicht nach der größte Vorteil von Graphdatenbanken? Eifrem: Mir fallen da zwei Dinge ein: Zum einen ist unsere Graphdatenbank bei vielen Abfragen von vernetzten Daten 1000 Mal schneller als ihre relationale Verwandtschaft. Zum zweiten ist es sehr viel intuitiver, eine Vielzahl von Domänen in Form eines Graphen zu modellieren. Gerade Domänen mit zahlreichen, unübersichtlichen und ständig wechselnden Verknüpfungen lassen sich mit einer Graphdatenbank erheblich einfacher und schneller modellieren. InfoWorld: Unterstützt Neo4j die Abfrage über das Internet? Eifrem: Neo4j ist mit einer RESTful API  konzipiert, die Abfragen über das Web gestattet. Alternativ kann es auch lokal ausgeführt werden. Neo4j ist an die Heroku-Cloud angebunden. InfoWorld: Neo4j ist in Java geschrieben, richtig? Eifrem: Das stimmt; das „4j“ in Neo4j steht für „Java“. InfoWorld: In jüngster Zeit gab es Probleme mit der Sicherheit von Java. Machen Sie sich deshalb Sorgen? Eifrem: Das jüngste Sicherheitsproblem war zweifellos ernst und stellte eine reale Gefahr dar. Es handelte sich um ein Browser-Problem. Trotz dieses Vorfalls mache ich mir aber insgesamt keine Sorgen wegen unserer Java-Programmierung. Die Java-Plattform hat immer noch eines der höchsten Sicherheitsniveaus [10] überhaupt. Natürlich muss das Thema Sicherheit oberste Priorität haben, besonders bei einem so stark unternehmensfokussierten Anbieter wie Neo Technology. Diesem Anspruch werden wir in jeder Hinsicht gerecht. Generell glaube ich aber nicht, dass Java weniger sicher ist als andere Programmiersprachen. Ganz im Gegenteil: Ich denke, es ist sicherer als viele andere Sprachen. InfoWorld: Worauf gründet sich Ihre Überzeugung? Eifrem: Java verwendet ein Sandbox-Modell innerhalb einer JVM und bietet damit eine inhärent hohe Sicherheit. Wenn man bedenkt, wie weit die Java-Plattform verbreitet ist und wie wenige Probleme bisher aufgetreten sind, wird klar, dass Java trotz mancher Bugs äußerst sicher ist. InfoWorld: Wie soll Neo4j auf dem mobilen Markt reüssieren? Rathle: Einige unserer Kunden nutzen bereits heute mobile Apps, bei denen im Hintergrund Neo4j läuft. So hat ein Unternehmen in Deutschland gerade ein Projekt mit iPad Apps für Vertriebsmitarbeiter begonnen, die im Medizinsektor tätig sind und mit Kliniken zusammenarbeiten. Neo4j läuft dabei als Back-End-Datenbank und ermöglicht das Navigieren in der komplexen Hierarchie von Ärzten, Kliniken, Krankenkassen und Anbietern. Ein anderer Kunde hat Neo4j auf Android portiert. Das Resultat ist zwar noch nicht quelloffen, wir arbeiten aber daran. InfoWorld: Welche Vorteile bietet Neo4j für Android? Rathle: Zum konkreten Anwendungsfall unseres Kunden darf ich natürlich nicht viel sagen; grundsätzlich handelt es sich aber um ein Gerät, das eng miteinander verflochtene Elemente erfasst. Dem Kunden geht es darum, die Wechselbeziehungen zwischen diesen Elementen zu verstehen. InfoWorld: Sie sehen also durchaus Chancen im mobilen Markt? Rathle: Auf jeden Fall. Ich denke, dass wir hier erst am Anfang stehen. Bisher wurde Neo4j zumindest im Unternehmenskontext meist in den Bereichen eingesetzt, die Emil erwähnt hat, d. h. innerhalb des Unternehmens, entweder auf kundenorientierten Websites oder intern, wo hierarchische Daten massive Performanceprobleme aufwerfen. Cisco ist ein Beispiel für eine solche Anwendung. InfoWorld: Sehen Sie einen Megatrend in der Graphentechnologie? Eifrem: Facebook ist ein aktuelles Beispiel für die innovative Graphennutzung, das in aller Munde und ziemlich spektakulär ist. Wir werden uns an Graph Search als Internet-Suchfunktion gewöhnen, denn Facebook ist für immer mehr User gleichbedeutend mit dem Internet. Allerdings hat Facebook keinesfalls als erstes Unternehmen die Graphentechnologie für sich entdeckt. Davor gab es schon einige andere. Zum Beispiel Google, das zunächst den Web-Graphen durchsuchbar machte und dann seinen Knowledge Graph einführte, übrigens parallel zum Börsengang von Facebook. Twitter wiederum arbeitet mit dem Interest Graph. In einem Interview, das ich kürzlich gesehen habe, meinte die Vorstandsvorsitzende von Yahoo, Marissa Mayer, dass ihr Unternehmen den Interest Graph modellieren wolle. Die Frage dabei lautet nicht: Wer kennt wen? sondern vielmehr: Wer interessiert sich wofür und wie kann ich das modellieren? Es gibt eine ganz Reihe von Unternehmen, die mit diesen vernetzten Datenstrukturen arbeiten wollen. InfoWorld: Wofür können vernetzte Daten genutzt werden? Eifrem: Lassen Sie mich das anhand eines Beispiels verdeutlich – der Websuche. Vor 1999 wurde sie von allen 20, 30 oder auch 50 Unternehmen, die sich damit befassten, gleich angegangen: Die Firmen luden den gesamten Inhalt des Web in ihre Datencenter herunter und durchsuchten dann jedes einzelne Dokument. Bei einer Suche nach dem Namen „Paul“ wurden alle Dokumente darauf untersucht, ob sie „Paul“ enthielten. Die gefundenen Treffer wurden angezeigt. So einfach war das. Kennzeichnend für diesen Ansatz waren atomare Daten, d. h. Daten, die sich nur auf eine einzige Entität beziehen. Mit Google kam 1999 dann der große Umschwung. Google entschied sich, zusätzlich zu den atomaren Daten auch die Beziehungen zu analysieren, in denen die einzelnen Seiten zueinander stehen. Hierfür wurde der Link Graph entwickelt. Dem zugrundeliegenden Algorithmus gab Google den Namen PageRank. Er machte das Unternehmen zur beherrschenden Suchmaschine des letzten Jahrzehnts. Der Ausgangspunkt für diesen Erfolg war die Entscheidung, nicht nur atomare, sondern vernetzte Daten zu analysieren. 2012 und 2013 erleben wir nun den nächsten Quantensprung in der Websuche. Der Knowledge Graph von Google untersucht nicht nur, in welcher Beziehung die einzelnen Seiten zueinander stehen, sondern er modelliert die einzelnen Entitäten auf diesen Seiten. Ein Beispiel: Bei einer Webseite über einen Spielfilm erfasste Google bisher nur, welche anderen Seiten damit verknüpft waren. Über diesen Ansatz geht Google nun hinaus und stellt fest: Dies ist eine Seite über den Film „Apollo 13“, in dem Kevin Bacon mitspielt, der wiederum in folgenden anderen Filmen mitgespielt hat. Aus all diesen Beziehungen entsteht eine vernetzte Datenstruktur, die Google als Knowledge Graph bezeichnet. InfoWorld: Welchen Zweck könnte ein Knowledge Graph oder eine Graphdatenbank im Unternehmen haben? Eifrem: Im Unternehmenskontext lassen sich mit Graphdatenbanken sehr viel mehr und bessere Suchergebnisse erzielen. Informationen können so viel gezielter durchsucht und auf relevante Inhalte analysiert werden.  

Keywords: