6 comments

[ 7.8 ms ] story [ 32.3 ms ] thread
TL;DR -- If you don't use safe mode / write concerns, writes are not safe.
and (from the article) if you do use safe mode, MongoDB is a lot slower and can no longer finish the entire benchmark suite in the time allotted.
And that the safe modes are broken and still not safe.
Broken is pretty subjective here and greatly depends on one's needs as far as the ACID principles are concerned. If durability is your primary concern then maybe MongoDB isn't for you. That doesn't mean it's broken. It might perfectly meet the needs of others. I guess it should also be noted that the author works on HyperDex (a competing data store).
If a data store touted as fault-tolerant isn't fault-tolerant, it's broken.
We keep seeing people in the industry with a reckless contempt for reliability. Rather than the next gamified mobile social network for cat videos, why do they choose to build databases of all things? Do they just want to be popular among a bunch of founders of moribund startups who don't have large enough scale or good enough analytics to notice how their storage has permanently corrupted their data? Did they just not know that write(2) on a socket doesn't wait for a TCP ACK, and not ever tcpdump their protocol?