The requirements were clear:
- Fast data insertion.
- Extremely fast random reads on large datasets.
- Consistent read/write speed across the whole data set.
- Efficient data storage.
- Scale well.
- Easy to maintain.
- Have a network interface.
- Stable, of course.
The list of NoSQL databases to be compared: Tokyo Cabinet, BerkleyDB, MemcacheDB, Project Voldemort, Redis, and MongoDB, not so clear.
The methodology to evaluate and the results definitely not clear at all.
And the conclusion is quite wrong:
Although MongoDB is the solution for most NoSQL use cases, it’s not the only solution for all NoSQL needs.
There were a couple of people asking for more details about my comments on this NoSQL comparison, so here they are:
- the initial list of NoSQL databases to be evaluated looks at the first glance a bit random. It includes some not so used solutions (memcachedb), some that are not , while leaving aside others that at least at the high level would correspond to the characteristics of others in the list (Riak, Membase)
- another reason for considering the initial choice a bit random is that while scaling is listed as one of the requirements, the only truly scalable in the list would be Project Voldemort. The recently added auto-sharding and replica sets would make MongoDB a candidate too, but a search on the MongoDB group would show that the solution is still young
- even if the set of requirements is clear, there’s no indication of what kind of evaluation and how was it performed. Without knowing what and how and it is impossible to consider the results as being relevant.
- as Janl was writing about benchmarks, most of the time you are doing it wrong. Creating good, trustworthy, useful, relevant benchmarks is very difficult.
- the matrix lists characteristics that are difficult to measure. And there are no comments on how the thumbs up were given. Examples: what is manageability and how was that measured? Same questions for stability and feature set.
- because most of it sounds speculative here are a couple of speculations:
- judging by the thumbs up MongoDB received for insertion/random reads for large data set, I can assume that data hasn’t overpassed the available memory. But on the other hand, Redis was dismissed and received less votes due to its “more” in-memory character
- Tokyo Cabinet and Redis project activity and community were ranked the same. When was the last release of Tokyo Cabinet?
- I’m leaving up to you to decide why the conclusion — “Although MongoDB is the solution for most NoSQL use cases”” is wrong.
Original title and link: Another NoSQL Comparison: Evaluation Guide (NoSQL databases © myNoSQL)