Graphdatenbank Neo4j geht in die Cloud
Auf einer Roadshow-Veranstaltung in Berlin hat Neo4j, Hersteller einer verbreiteten Graphdatenbank, Ausblick auf die Weiterentwicklung seiner Datenbankplattform gewährt. Drei deutsche Anwender, darunter DATEV und Daimler, stellten die Projekte vor, die sie mit Neo4j realisieren.
Anbieter zum Thema

Im Mittelpunkt der „GraphTour“ stand die neue native Graph-Plattform von Neo4j. „Nativ bedeutet, dass wir die Graphdatenbank von Grund auf für das Graph-Datenmodell entwickelt haben“, erläutert CEO Emil Eifrem den Unterschied zu nicht-nativen Graphdatenbanken. „Dort wird das Graph-Datenmodell über eine Adapterschicht realisiert, die auf das darunter liegende Datenmodell, egal ob relational, JSON-basiert oder Key-Value-basiert, aufgesetzt wird.“ Dieser Ansatz sei wenig performant, begrenzt skalierbar und zudem fehleranfällig.
Im Unterschied dazu sei die Neo4j-Datenbank aus einem Guss, denn der Hersteller besitze ja den kompletten Technologiestapel und könne alle Komponenten für einen bestimmten Zweck optimieren, also für bestimmte Workloads. Zudem besitze er die Indizes, die er oder der Kunde ebenfalls zweckgebunden optimieren könne.
Die neue Plattform, die in Berlin vorgestellt wurde, soll die Graphdatenbank Neo4j 3.3 um Analytics, Datenimport und -transformation, Visualisierung sowie Discovery-Funktionalitäten ergänzen. Die Visualisierung erfolgt durch integrierte Lösungen von Neo4j und von Visualisierungspartnern. „Damit entwickelt sich Neo4j vom reinen Datenbankspezialisten zum umfassenden Servicedienstleister für Graphtechnologie und erweitert seinen Anwenderkreis um Data Scientists, Big Data IT und Business-Analysten“, erläuterte Eifrem.
Cypher wird Standard
Die Query Language Cypher ist mittlerweile die Standard-Abfragesprache für Graphen, beispielsweise auf Apache Spark. „Cypher soll das Spark-eigene Graph-Tool mit der Zeit ablösen, wobei die Cypher-Implementierung für Spark CAPS (Cypher für Apache Spark) heißen wird“, sagte Eifrem.
Der CEO stellte in Berlin eine neue Erweiterung namens „Cypher für Gremlin“ vor. Dass Gremlin eine konkurrierende Datenbank-Programmiersprache für Graphen ist, stört Eifrem nicht. Die entwickelte Erweiterung führt Cypher auf Gremlin-basierten Datenbanken aus. Sie ermögliche die Portierbarkeit von Cypher auf Gremlin, um so Investitionen der Entwickler in Apps zu schützen und im Wert zu steigern. Zudem erhöhe sie das interne Vertrauen in den Standard openCypher, dessen Unterstützer man auf GitHub findet. Das wiederum ziehe mehr Partner an, so etwa SAP. SAP HANA unterstütze openCypher.
Numerischer Index
Mit der Einführung von Schemata 2013 in Neo4j 2.0 wurde auch das Indexing in der Abfragesprache Cypher eingeführt. Diese zwei Dinge waren bis dahin getrennt.
Neben Cypher trägt der Index unter anderem zur hohen Performance der Graphdatenbank bei. Leistungssteigerungen von Release zu Release, die im zweistelligen Bereich liegen, gehen auf fundamentale Verbesserungen in diesem Bereich zurück. „Unser erster Index basierte auf der Open Source Software Lucene, der Suchmaschine, die hinter Elastic Search steckt und die Volltextsuche erlaubt“, erzählt Eifrem. „Inzwischen aber haben wir unseren eigenen Index geschrieben, der insbesondere für Zahlen optimiert ist, denn schließlich enthalten fast alle Datenbanken und Workloads Zahlen.“ Der neue numerische Index sorge für die Steigerung des Datendurchsatzes um rund 60 Prozent für einen durchschnittliche Workload.
Allerdings sei der Index nicht für einen bestimmten Prozessor optimiert, schränkt Eifrem ein, sondern werde auf einer JVM als Abstraktionsschicht ausgeführt, die überall laufen kann, auf einem Server ebenso wie auf einem Laptop. „Der Index ist Disk-gestützt, damit er größer sein kann als der verfügbare RAM, und kann also sowohl im Arbeitsspeicher als auch auf Festplatte ausgeführt werden.“ Nutzer könnten natürlich Flash-Memory und SSDs verwenden, um den Index zu beschleunigen.
In die Wolke
Die Neo4j-Plattform soll noch dieses Jahr auch in der Public Cloud bereitstehen. „Wir gehen in die Public Cloud, weil künftig über 90 Prozent aller Datenbank-Dollars dort ausgegeben werden.“ Kunden setzen bei Datenbanken und Anwendungen immer stärker auf die Cloud, aufgrund der leichteren Integration und der einfachen und reibungslosen Nutzung. Das soll auch für Neo4j möglich sein. So vermeide der Kunde die Probleme einer Hybrid Cloud. „Das ist besonders für Mittelständler wichtig, die sich IT-Berater nur begrenzt leisten können und keine eigene IT- und Entwicklungsabteilung betreiben“, erläutert Eifrem.
„Wir unterstützen Multi-Clouds, denn wir sind hinsichtlich der Provider völlig agnostisch: Ob auf Azure, Google oder AWS, ist gleichgültig.“ In Version 3.3 wird Intra-Cluster-Verschlüsselung realisiert, die auf Zertifikaten und dem TLS-Protokoll) basiert. Eine Preview gibt es auf www.neo4j.com/cloud.
Anwender haben die Wahl zwischen zwei Editionen, der Open Source Community Edition und der Enterprise Edition. Kleinere Unternehmen mit weniger als 20 Mitarbeitern können sich für das Neo4j-Start-up-Programm qualifizieren und dadurch die Enterprise-Edition kostenfrei nutzen. Sie enthält die komplette Plattform inklusive Neo4j Desktop, Neo4j Browser und der Entwicklungsumgebung. Diese wird in Version 3.3 um agile Eigenschaften erweitert. Zusätzliche Treiber für Java, JavaScript, .NET und Python gibt es bereits seit 2016 mit Neo4j 3.0. Ebenfalls neu sei die Version 3.0 des Object Graph Mappers (OGM).
Der Neo4j Desktop ist eine Umgebung, die Entwicklern und Anbietern eine Oberfläche der Graph-Plattform („Missionskontrolle für Entwickler“) bietet. Die Enterprise-Edition umfasse darüber hinaus Clustering, Beratung und Support sowie Unterstützung für Integration mit Oracle oder Teradata. Abgerechnet wird die Subskription jeweils jährlich.
Praxisberichte
Experten der Neo4j-Anwender berichteten, wie Graphtechnologie in ihren Unternehmen genutzt wird. In ihrem Vortrag „StructureCube: Die G-Klasse im Sumpf der Strukturen“ sprachen Kristina Lampart und Jochen Linkohr von der Daimler AG über die Vorteile eines graphbasierten Ansatzes im Bereich Human Resources. Dabei kann der Automobilhersteller Metadaten von über 300.000 Mitarbeitern einfach und schnell verwalten.
Einen Einblick in die Betrugsaufdeckung bei dem Versicherungsunternehmen Generali gab Data Scientist Thorsten Gormann, Generali Deutschland Schadenmanagement. Mithilfe von Graphen lassen sich verdächtige Muster innerhalb der Daten leichter erkennen und Betrugsversuche automatisiert identifizieren. Dabei werden Daten im Kontext zusätzlicher Netzwerkinformationen analysiert. „Die Betrugserkennung“, so Stefan Kolmar, VP Field Engineering bei Neo4j, „nutzt Machine Learning und verabschiedet sich von SQL-Technologien, mit der die Abfragen ineffizient, langsam und im Betrieb teuer sind.“ Mit Neo4j sei die Entwicklung schnell, leicht und kostengünstig. „Schnell bedeutet: in Millisekunden pro Abfrage statt in Minuten oder Stunden“, so Kolmar.
Nils Pöpperl, Software Architekt bei DATEV eG stellte das graphbasierte Identity- und Accessmanagement vor, das bei dem IT-Dienstleister für ein sicheres und kontrolliertes Handling sensibler Daten sorgt. „Zu unseren Kunden zählen außerdem deutsche Großunternehmen wie Adidas und der Versicherer ,die Bayerische‘, aber auch mittelständische Unternehmen wie der Spielzeughersteller Schleich“, ergänzte Eifrem.
„SAP HANA ist eines von vielen Beispielen, bei denen openCypher als Abfragesprache genutzt wird.“ Die Visualisierung erfolgt über integrierte Lösungen von Neo4j und von Partnern. Im Graphen können Nutzer mit dem generischen Neo4j-Browser navigieren. Für spezifische Zwecke stehen JavaScript- & Custom-Bibliotheken für bestimmte Einsatzbereiche zur Verfügung. Visualisierungspartner sind u. a. Cambridge Intelligence, Tom Sawyer Software, ZoomChart und Linkurious. Die Datenintegration im ETL-Prozess ist in die Graph-Plattform integriert, kann aber auch mit anderen ETL-Lösungen wie Talend, Pentaho oder Streamsets genutzt werden.
Knowledge Graph und KI
In seiner Keynote verdeutlichte Eifrem die Bedeutung von Graphtechnologie für Künstliche Intelligenz und Deep Learning: „Ob Recommendation Engines, Machine Learning oder Predictive Analytics – wirft man einen Blick auf die zugrunde liegenden Datenstrukturen, stößt man schnell auf ein Graphmodell.“ Knowledge Graphs erfassen nach seinen Worten die Beziehungen zwischen Daten und damit den Kontext von Informationen. „Und Kontext bestimmt den Sinn und die Präzision von Machine-Learning-Systemen.“ Neo4j unterstütze in Kürze auch Machine Learning und Deep Learning mithilfe von Google TensorFlow, dem verbreitetsten DL-Framework. Damit lasse sich Visual Intelligence, Mustererkennung, Gesichtserkennung und vieles mehr realisieren.
(ID:45199601)