Über unsMediaKontaktImpressum
26. März 2015

Neo4j 2.2: Neues Release der Graphdatenbank

Die skalierbare native Graphdatenbanken bietet einen Optimierer für Cypher und einen In-Memory-Seiten-Cache.

Eine Graphdatenbank - oder graphenorientierte Datenbank -  stellt vernetzte Informationen in Form von Graphen dar. Ein Graph besteht aus Knoten und Kanten. Sowohl Knoten als auch Kanten können Eigenschaften, sogenannte Properties besitzen. Genau diese Spezialisierung auf Property-Graphen unterscheidet Graphdatenbanken von den klassischen Datenmodellen der relationalen Datenbankwelt und von RDF/Triple-/Quad-Stores im Semantic Web.

So bieten Graphdatenbanken auch spezialisierte Graphalgorithmen: Alle direkten und indirekten Nachbarn eines Knotens identifizieren, kürzeste Pfade zwischen zwei Knoten berechnen, bekannte Graphstrukturen wie beispielsweise Cliquen finden und Hotspots (besonders stark vernetze Regionen im Graph) identifizieren.

Neo Technology entwickelt mit Neo4j eine Graphdatenbank, deren neues Release 2.2 jetzt zum Download bereitsteht. Zwanzig Personenjahre wurden in die Weiterentwicklung investiert. Zu den Neuerungen in Neo4j 2.2 zählt die deutlich verbesserte Schreib-/Leseleistung. Im Vergleich zur vorherigen Version soll Neo4j 2.2 eine insgesamt 10- bis 100-mal höhere Schreib-/Leseleistung erreichen.

Neue Features von Neo4j 2.2

"Der neue kostenbasierte Optimierer für Cypher und der neue in-Memory-Seiten-Cache tragen erheblich zur Verbesserung der Leseleistung und der Skalierbarkeit der Anwendung bei“, sagt Johan Svensson, CTO von Neo Technology. „Verbesserungen der Datenbank-Engine und insbesondere die neue, schnelle Schreibpuffer-Architektur erhöhen die Skalierbarkeit deutlich. Dies verkürzt die Ladevorgänge von Graphen und steigert die Leistung von Anwendungen mit gleichzeitig durchgeführten Transaktionen."

Zusammengefasst gibt es folgende Neuerungen:

  • Massive Schreibskalierbarkeit – Neo4j 2.2 soll den Schreibdurchsatz insgesamt erheblich (um das bis zu 100-fache) steigern. Davon können Anwendungen mit vielen gleichzeitigen Transaktionen profitieren. Gleichzeitig wird die verfügbare Hardware effizienter genutzt. Machbar wird diese Leistungssteigerung durch schnelleres Puffern von Updates und ein neues, vereinheitlichtes Transaktionsprotokoll, das jetzt für den Graphen sowie für dessen Indices zur Verfügung steht. Das Ergebnis ist ein Streamlining in der Datenbank-Engine und eine effiziente Nutzung der IO-Kapazität der eingesetzten Hardware. Für den Erstimport sehr großer Graphen greift Neo4j 2.2 erstmals auf ein neues Bulk-Import-Dienstprogramm zurück, das Daten aus externen Quellen mit einer Geschwindigkeit von mehr als 1 Mio. Datensätze/Sekunde importieren kann. So werden - laut Hersteller - Graphen mit mehreren Milliarden Knoten und Beziehungen unterstützt.
  • Massive Leseskalierbarkeit – Der neue in-Memory-Graph-Cache soll den Lesedurchsatz um das bis zu 10-Fache für Leseanwendungen mit vielen gleichzeitigen Transaktionen steigern.
  • Schnellere Cypher-Abfrageleistung – Eine neue Statistikfunktion in Neo4j 2.2 zusammen mit einem neuen kostenbasierten Optimierer für die Abfragesprache Cypher optimiert Abfragen besser: Der kostenbasierte Optimierer wählt jetzt die beste Ausführungsplanung für Abfragen anhand integrierter statistischer Informationen über Größe und Form des Graphen. In bestimmten Fällen erzielt Neo4j 2.2 eine 100-fach höhere Leistung als vorherige Versionen.

Auch für Entwickler/innen gibt es einige Erweiterungen, darunter:

  • Neue Features zur Visualisierung von Graphen
  • Visualisierung von Abfrageplänen
  • Neue integrierte Tutorien und Lernmaterialien

Die neue Version Neo4j 2.2 steht ab sofort zum Download bereit. 

Weiterführende Informationen

Sie möchten zukünftig per Newsletter der Informatik Aktuell informiert werden? Hier können Sie sich anmelden.

botMessage_toctoc_comments_9210