views:

184

answers:

5

I need graph database for my project. I want to perform shortest path operation on the graph. I searched google and found neo4j, InfoGrid and sones. I am not sure which one performs the best.

Neo4j is insisting on transaction for read queries also, so I am worried it will cause delays. I want high performance graph database engine. It will be awesome if it can support shortest path also.

A: 

Why not test out all three and apply a benchmark for your particular data? Otherwise it's difficult to say which one would perform the fastest.

Reinderien
A: 

I think you can pay attention at Flockdb too.

wako
+1  A: 

I agree with @Reinderien, you should bench these products. But I would also add OrientDB in the mix. Quoting its author in this comment:

I'm working to OrientDB. It's a NoSQL hybrid document-graph dbms with special operators for graph operations. The main difference is that you can query it using SQL language with some extension like:

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

This means get all the people that have any relationship of friends with you up to the 7th level of separation.

According to its website, the performances looks pretty decent. Worth the look at least.

Pascal Thivent
A: 

From version 1.1 you can read data without using a transaction in Neo4j. In case you want to read uncommitted data though, you can only do that from inside the same transaction (and obviously need a transaction in the first place). More information on transactions is found in the Neo4j wiki.

nawroth
A: 

Fortunately there is a common interface for most of them: Blueprints. On top of it there are a lot of technologies such as the Gremlin language and REST access to the graph. Visit Tinkerpop to know more.

About benchmarks there is a work-in-progress project called graphdb-bench (always by Tinkerpop), but AFAIK is in development.

Lvca