ETL-Funktionen für Neo4j

Mit der Version 2.1 von Neo4j kann die Graphendatenbank Daten aus relationalen Datenbanken mappen. Außerdem kann die eigene Abfragesprache Cypher jetzt Daten aus CSV-Dateien ziehen.

In Pocket speichern vorlesen Druckansicht 10 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Die Entwickler von Neo4j haben die Version 2.1 ihrer Graphendatenbank freigegeben. Eine wichtige Neuerung richtet sich vor allem an Nutzer relationaler Datenbanken. Denn die NoSQL-Datenbank unterstützt nun nativ ETL-Prozesse, durch die sich Daten aus relationalen Datenbanken, aber auch aus anderen Quellen in einen Graphen importieren lassen, um die gezogenen Daten bei Szenarien zu nutzen, bei denen Neo4j durch seinen graphenorientierten Ansatz Stärken ausspielen kann. Bislang waren derlei Importfunktionen nur über externe Tools oder "händische" Anpassungen möglich.

Die Neo4j-eigene Abfragesprache Cypher kann darüber hinaus nun Daten aus CSV-Dateien abgreifen. Außerdem verspricht Neo Technology, dass sich große Datenmengen jetzt deutlich schneller in einen Graphen mappen oder zwischen den Graphen bewegen lassen. Dafür wurde die zugrunde liegende Technik zum Laden der Daten neu geschrieben. Der Hersteller geht man von einer bis zu hundertfachen Beschleunigung aus. Positiv auf das Verhalten könnte sich auch das neue Feature "Periodic Commit" auswirken, durch das sich auf Basis einer vorher festgelegten Größe einer Transaktion Speicher freigeben lässt. Zuschalten kann man schließlich einen neuen Query Planner für Cypher, der aber noch experimentellen Charakter hat.

Beispiel für den Dateninput aus einer SQL-Quelle heraus.

Bei Graphendatenbanken liegt der Fokus auf der Modellierung und Speicherung der Daten in Form von Knoten und Kanten. Die Knoten enthalten in Form von Properties Eigenschaften eines Objekts, während die Kanten Beziehungen zwischen den Objekten (Knoten) darstellen. Auch Kanten und Beziehungen lassen sich über Properties näher beschreiben. Zielgruppe für solche Graphendatenbanken sind Anwendungen, bei denen die Beziehungen zwischen den Objekten und eine performante Navigation in den Beziehungen im Mittelpunkt stehen. Neo4j eignet sich entsprechend für vernetzte Daten und lässt sich zum Beispiel bei sozialen Netzwerken, beim Routing, der Ursachenforschung, bei wissenschaftlichen Anwendungen, der Empfehlungsermittlung und der Verwaltung von komplexen Objektmodellen einsetzen.

Graphendatenbanken sind zwar nur eine Spielart der sogenannten NoSQL-Datenbanken, doch eine mit Potenzial. So haben die Analysten von Forrester prognostiziert, dass 2017 25 Prozent der Unternehmen Graphendatenbanken nutzen werden. Neo4j ist in diesem Segment unter den Open-Source-Varianten derzeit der deutliche Marktführer und zählt beispielsweise Wal-Mart, eBay, National Geographic, Cisco, Lufthansa und HP zu seinen Kunden.

Siehe dazu auf heise Developer:

(ane)