Komplexe Beziehungsmuster
Kanten sind für Neo4j Beziehungen, die einen Typ besitzen (wie etwa das "ist verheiratet mit") und weitere Properties aufnehmen können. Diese bestehen wiederum aus Schlüssel-Wert-Paaren, wobei die Werte nur einfache, bekannte Datentypen wie Strings oder Integer-Zahlen sein dürfen.
Die Graphen speichert Neo4j in Dateien mit eigenem Format, um den Index kümmert sich Apache Lucene [6]. Indizieren kann Neo4j nur die Properties von Knoten und Kanten, wobei der Entwickler die Indizes obendrein selbst verwalten muss. Das ist zwar etwas aufwändiger, dafür lassen sich aber auch nur interessante Teile des Graphen indizieren.
Neo4j legt seine Daten übrigens immer auf der Festplatte ab, ein Betrieb als In-Memory-Datenbank (siehe den nächsten Artikel in diesem Schwerpunkt) ist derzeit nicht möglich.
Einen Durchlauf durch einen Graphen darf der Programmierer äußerst flexibel steuern. So legt er beispielsweise fest, in welcher Reihenfolge Neo4j die Kanten eines Knotens abarbeiten und welche Verzweigungen es überhaupt weiter verfolgen soll. Darüber hinaus bietet Neo4j hilfreiche Graph-Algorithmen an, etwa den kürzesten Weg nach Dijkstra oder den A*-Algorithmus.
Neo4j erlaubt die Replikation im Netz. Dabei küren alle beteiligten Server selbstständig einen Write-Master. Nur er führt alle Schreiboperationen aus, seine anderen Kollegen übernehmen lediglich asynchron seinen Datenbestand und beantworten Leseoperationen. Sollte der Write-Master ausfallen, bestimmt die verbleibende Gruppe einen neuen.
Neo4j selbst steht als so genannte Community Edition unter der GPLv3. Die Advanced Edition bringt Monitoring-Fähigkeiten mit, unterliegt aber der AGPLv3. Diese Lizenz gilt auch für die größte Enterprise-Edition, die noch Replikation respektive Hochverfügbarkeit enthält. Mit Neoclipse stellen die Entwickler ein "visuelles Graphdatenbankwerkzeug" bereit, das auf der IDE Eclipse basiert [7].
Konkursverwaltung: Sones Graph DB
Ihren Ursprung hat Graph DB in der Modellierung und Speicherung sozialer Netze. Daher verwundert es nicht, dass der 2007 in Erfurt gegründete Hersteller Sones die Verwandtschaftsbeziehungen aus der Zeichentrickserie "The Simpsons" als Beispiel nutzt [8].
Sones Graph DB ist in C# geschrieben und basiert somit auf dem Dotnet-Framework beziehungsweise unter Linux auf Mono. Nach Sones eigenen Messungen arbeitet die Datenbank unter Mono sogar schneller als mit dem Dotnet-Framework unter Windows [9]. Weitere Anbindungen existieren an Java und PHP. Sones speichert die eigentlichen Daten im eigenen Dateisystem Graph-FS. Die Datenbank selbst erlaubt gerichtete Hyperkanten. Die damit entstehenden Gebilde bezeichnet Sones als Property Hypergraph.
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 8 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





