2010-09-17 18 views
6

Ich brauche Graph-Datenbank für mein Projekt. Ich möchte den kürzesten Pfad auf dem Graphen ausführen. Ich suchte google und fand neo4j, InfoGrid und Sones. Ich bin mir nicht sicher, welches das beste ist.Open-Source-Graph-Datenbank

Neo4j besteht auch auf Transaktion für Leseabfragen, so dass ich befürchte, dass es zu Verzögerungen kommen wird. Ich möchte eine leistungsstarke Graphdatenbank-Engine. Es wird großartig, wenn es auch den kürzesten Weg unterstützen kann.

Antwort

6

Ich stimme zu @Reinderien, sollten Sie diese Produkte bench. Aber ich würde auch OrientDB im Mix hinzufügen. Zitiert seinen Autor in this comment:

Ich arbeite an OrientDB. Es ist ein NoSQL Hybrid-Dokument-Graph dbms mit spezielle Operatoren für Graph Operationen. Der Hauptunterschied ist , dass Sie es mit SQL Sprache mit einer gewissen Erweiterung abfragen kann wie:

select from People where friends TRAVERSE(1,7) (name = 'Ayende' and surname = 'Rahien') 

Das bedeutet, alle Leute, dass haben keine Beziehung von Freunden mit Sie auf der 7. Stufe der Trennung auf.

Laut seiner Website sieht die Leistungen ziemlich anständig aus. Es lohnt sich zumindest das Aussehen.

0

Warum testen Sie nicht alle drei und wenden Sie einen Benchmark für Ihre speziellen Daten an? Sonst ist es schwer zu sagen, welcher am schnellsten wäre.

2

Ich denke, Sie können auch auf Flockdb achten.

+0

FYI Flockdb wurde von Twitter verwendet und später an die Open Source Community gespendet. Eine andere gute Sache ist, dass es auf SCALA basiert. – prassee

0

Ab Version 1.1 können Sie Daten lesen, ohne eine Transaktion in Neo4j zu verwenden. Wenn Sie jedoch nicht festgeschriebene Daten lesen möchten, können Sie dies nur innerhalb derselben Transaktion tun (und benötigen offensichtlich eine Transaktion). Weitere Informationen zu Transaktionen finden Sie in der .

1

Glücklicherweise gibt es eine gemeinsame Schnittstelle für die meisten von ihnen: Blueprints. Hinzu kommen viele Technologien wie die Gremlin-Sprache und der REST-Zugang zum Graphen. Besuchen Sie Tinkerpop, um mehr zu erfahren.

Über Benchmarks gibt es ein Work-in-Progress-Projekt namens graphdb-bench (immer von Tinkerpop), aber AFAIK ist in der Entwicklung.

+0

graphdb-bench link funktioniert nicht - Vorschläge? – Karussell