MongoDB Durability: A Tradeoff to Be Aware Of
nosql.mypopescu.com
nosql.mypopescu.com
However, the point about "you can only have a replica pair" forgets to mention some key aspects:
- MongoDB supports both master/slave and master/master replication in addition to replica pair. The difference is that the replica pair setup will do automatic failover in the sense that if there is a communication failure where A was the master and B was the slave, and now only B can be reached, B will assume the master status automatically. In contrast, the master/slave setup requires manual failover.
- In the event of a network partition (given as an example in the post that MongoDB does not handle), you are supposed to use an arbitrator server which will have the final say over which instance will assume the master status.
The documentation is clear on this - http://www.mongodb.org/display/DOCS/Replication
From the Mongo documentation:
The arbiter is used in some situations to determine which side of a pair is master. In the event of a network partition (left and right are both up, but can't communicate) whoever can talk to the arbiter becomes master.
Seems to me that would be useful in ensuring a durable system.