
Jepsen: MongoDB 4.2.6 - aphyr
http://jepsen.io/analyses/mongodb-4.2.6
======
ncmncm
I usually describe MongoDB as a database designed for applications where the
data doesn't matter very much.

This might sound disparaging, and we all like to think our own data matters to
the Nth degree, but consider: how important is that banner that displays at
the bottom of the Amazon or Ebay page, "people who looked at this thing bought
this stuff"? It has to be there, but how accurate does it have to be? Are you
willing to wait an extra five seconds for it to be right?

In the overwhelming majority of places where you might want a database to help
you manage the data involved, the majority if the data does not need to be
100% right if it would make the main operations slower. For those parts of the
job, MongoDB in its default configuration with default options is good enough.

Many of us with what we like to think of as higher standards prefer to work
where everything matters, and leave the dancing penguins to others. But those
others do need a database, and they have the money to buy one.

(Disclosure: I was fired from MongoDB right after their IPO, perhaps in part
for saying stuff like the above.)

~~~
otterley
It's fine and good to sell a fast and cheap but unreliable database and market
it as such. It's another thing to sell a fast and cheap but unreliable
database and misleadingly claim it has “among the strongest data consistency,
correctness, and safety guarantees of any database available today”, with
“full ACID transactions”.

~~~
ncmncm
I agree that MongoDB marketing oversells the product.

The stock market demands that the product have all the same stickers on as
everybody else. But nobody is obliged to believe them. It may take quite a lot
before anybody does, again.

The people working on the product are very smart and hard-working, but the
problem they have set themselves is extremely complex, and possibly not
solvable; or, even if ever solved, maybe not demonstrably so.

And, anyway, it is not what the customers actually want, although they might
often need to convince their own management that they are getting it.

~~~
otterley
> The stock market demands that the product have all the same stickers on as
> everybody else. But nobody is obliged to believe them.

That is a very interesting take on the situation, especially because the tort
of fraud starts from the opposite first principle: that customers may
reasonably rely on the promises made by sellers.

~~~
ncmncm
I agree that fraud is under-prosecuted. Users so rarely sue their database
provider, howsoever richly it is deserved.

The stickers come from organizations that are largely captured by vendors.
Kudos to Jepsen for maintaining independence.

------
creole
Note the tweet credited as inspiration:
[https://twitter.com/MBeugnet/status/1253622755049734150](https://twitter.com/MBeugnet/status/1253622755049734150)

~~~
jka
Hopefully MongoDB (the company) take note of this and ask their developer
advocates and marketing writers not to misrepresent reality.

They're strongly incentivized by the nature of their work to defend the
product - but yes, when it comes to claims about data integrity, stretching
and distorting the truth will come back and bite you.

We all make mistakes, so it's better not to villify understandable
miscommunications like this, as long as apologies and corrections for any
disruption and cost caused can be made.

~~~
ken
MongoDB has been doing this for 10 years. It's their modus operandi.

------
tobyhede
I love your work @aphyr. I learn so much reading your reports.

------
drwiggly
I like the part about transactions ignoring settings.

------
pier25
So what NoSQL DB does HN recommend?

Fauna? Cosmos? Firestore?

~~~
balfirevic
There is no way to recommend NoSQL database without knowing what you need it
for because NoSQL databases are highly specialized systems. If you need
general-purpose database use an SQL one.

Edit: It's kind of a weird question, now that I think about it. Why would
anyone seek out a database based on what it _doesn 't_ have?

~~~
manojlds
NoSQL is Not Only SQL these days.

~~~
muldvarp
Is it though? Many NoSQL databases provide neither a SQL interface nor many of
the other features SQL databases have.

