GraphDB sucht Freund des Freundes

GraphDB sucht Freund des Freundes

Linuxtag 2011

Wozu braucht man eine Graphdatenbank? Daniel Kirstenpfad von der Sones GmbH erläuterte das in seinem Linuxtag-Vortrag anhand der hauseigenen Software.

Ein Graph kann beispielsweise eine Straßenkarte oder ein Beziehungsnetzwerk unter Freunden oder Twitter-Benutzern darstellen, erläuterte der CTO und Gründer des deutschen Unternehmens. Solche Modelle ließen sich zwar auch mit einer relationalen SQL-Datenbank oder in JSON oder XML abbilden, das führe aber zu komplexen Strukturen und ressourcenintensiven Join-Abfragen. Kirstenpfad stellte drei Zeilen SQL einem einzeiligen Statement in GQL gegenüber, der Abfragesprache seiner Open-Source-Graphdatenbank. Zudem kommt eine solche Datenbank ohne Index aus, um zu ermitteln, welcher Weg von einem Knoten zum anderen kommt.

Eine praktische Demonstration zeigte der Entwickler auf seinem Mac-Notebook. Die Sones-Datenbank GraphDB bringt einen kleinen Webserver mit, der eine REST-Schnittstelle sowie ein Ajax-Terminal für den Webbrowser zur Verfügung stellt. Anhand des Beziehungsnetzwerks aus der Fernsehserie “Die Simpsons” zeigte er, wie einfach eine Graphdatenbank die Frage nach dem “Freund eines Freundes eines Freundes” beantworten kann. Weitere Anwendungsfälle wären beispielsweise Berechtigungsstrukturen oder Leitungsnetze – auch für den semantischen Desktop eignet sich eine Graphendatenbank.

Die GraphDB von Sones ist seit Mitte 2006 unter APGLv3 verfügbar. Sie ist in C# auf Basis des Mono-Frameworks geschrieben und läuft damit auf vielen Plattformen. Kirstenpfad lobte die Offenheit der Mono-Entwicklung, die es Sones erlaubt hatte, den Garbage-Collector für die Bedürfnisse der Datenbank zu optimieren. Ein API gibt es für C#, Java, Javascript und PHP.

Vor wenigen Tagen hat der Hersteller Version 2.0 der GraphDB veröffentlicht. Die Entwickler haben die Datenbank noch konsequenter in Module aufgelöst, die über offene APIs mit einander gekoppelt sind. JSON- und REST-Schnittstellen beispielsweise sind nun Plugins, die der Anwender nach Wunsch zusammenstellt. Ebenfalls neu ist der so genannte Property Hypergraph, der Kanten darstellen kann, die an einem Knoten starten und auf einen ganzen Subgraphen zeigen. Diese zusätzliche Ausdrucksmöglichkeit kann ganze Gebilde wie beispielsweise “Meine Familie” anbinden. Zudem sei die Software laut Kirstenpfad um ein Vielfaches schneller geworden.

Sones GraphDB ist als Open-Source-Version unter AGPLv3 erhältlich. Daneben gibt es eine proprietär lizenzierte Enterprise-Version. Diese bietet zusätzliche Module für persistente Indizes und Datenspeicherung auf der Festplatte. In der OSS-Ausgabe dagegen muss der Anwender beim Start der In-RAM-Datenbank die Daten aus dem Transaktionslog einspielen.

Die weiteren Entwicklungsziele von Sones sind Master-Slave-Clustering sowie ein Partitionierungsverfahren, das den Graphen möglichst sinnvoll auf mehrere Maschinen verteilt.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben