Another thing I find interesting about MongoDB is its approach to
Durability, Data Consistency and Availability. It is very relaxed
and will not work for some applications but for others it can be
usable in current form. Let me explain some concepts and compare
it to technologies in MySQL space.
First I think MongoDB is best compared no to MySQL Server but
MySQL Cluster, especially in newer versions which implement
"sharding". Same as commit to NDB Storage engine does not
normally mean commit to disk, but rather commit to network it
does not mean commit to disk with MongoDB, furthermore MongoDB
uses Asynchronous replication, meaning it may take some time
before data will be at more than one node. You can also use
getLastError() to ensure data is propagated to the slave. So you
can see it as a hybrid between MySQL Cluster and
innodb_flush_log_at_trx_commit=2 mode. The second difference of
course the fact MongoDB is not crash safe - similar to …
[Read more]