FlockDB: Twitter's distributed, fault-tolerant graph database
github.com
github.com
I think Redis would perform a lot better than SQL for graph like structures - since sets are a native datatype in Redis. And you can go A LONG way with just one Redis database (currently we are storing over 20 million keys in our Redis database and I know some that are storing 100 million keys on _one_ server). And with the new Redis VM coming up, I would guess that scalability of Redis is going to be even better.
Other than this, neo4j seems very interesting and would probably also have been a better choice than using a relational database.
Data-locality is the kicker in a distributed graph database; when doing traversals that cross multiple nodes you need to have a partitioning scheme that coordinates with your traversal algorithms so that you need the minimum number of machine-to-machine hops in a multi-level traversal. Getting that right is far more difficult than traditional database sharding.
Everyone has different requirements though, if depth 1 and huge scale are what you need, flock db might be for you.
Wondering if FlockDB is truly abstracted from MySQL/Cassandra. And also wondering how performance compares Neo4j
I have not used Neo4J first hand. It has really cool features, but it is not a distributed database and has expensive memory usage. FlockDB is distributed, uses little memory, and has a very limited feature-set that is highly highly optimized for OLTP. It's not really an apples/apples comparison. Theoretically, Neo4J could be used as a back-end data-store in FlockDB.
All this of course based on just a quick glance, so I may come back all the wiser and revise my opinion later. :)
-EE [http://neo4j.org]
1] Which would make FlockDB less a graph db and more a key-value store with social network semantics for the values.
-EE [http://neo4j.org]
(In all seriousness, no dig on the authors, planning on poking through some of the source in the next bit.)
http://news.ycombinator.com/item?id=1155026
"Lines of doesn't say anything" is one of those flawed mantras that people keep repeating as an overreaction to the too often used assumption that it's the most important metric.