[erlang-questions] Selecting a speedy NoSQL datastore

Jayson Vantuyl <>
Wed Feb 24 03:02:44 CET 2010


This is not entirely so simple.  MongoDB does not ensure durability for a single machine database.  Instead, they require you to use replication across multiple servers.  When properly deployed on redundant storage, you get eventually-consistent durability across the system.

Read a little about it here:

http://blog.mongodb.org/post/381927266/what-about-durability

Their rationale, which is actually quite insightful, is that anyone who is really concerned with not losing data (and understands the problem) wouldn't want just one machine durability anyway--especially with the weaker guarantees that they've otherwise accepted due to eventual-consistency.

Also, note that Mongo Sharding gives you the same replication plus horizontal scalability.  Right now, Mongo, Riak, and Dynomite are the NoSQLs that really seem to scale.  All of them are apparently eventually-consistent.  Among those, Mongo is the best performing.

Mongo doesn't "lose data" any more than the others.  More directly, in an eventually-consistent system, there is always a point where you can lose the partition of nodes that has the data.

On Feb 23, 2010, at 12:06 PM, Max Lapshin wrote:

> On Tue, Feb 23, 2010 at 11:03 PM, Rapsey <> wrote:
>> MongoDB looses data? First time I've heard mongodb having such an issue.
>> 
> 
> Yes, we have experienced this problem on staging tests and stopped
> experiments with nosql after it.
> 
> ________________________________________________________________
> erlang-questions (at) erlang.org mailing list.
> See http://www.erlang.org/faq.html
> To unsubscribe; mailto:
> 

-- 
Jayson Vantuyl




More information about the erlang-questions mailing list