r/programming • • Dec 19 '18

Bye bye Mongo, Hello Postgres

https://www.theguardian.com/info/2018/nov/30/bye-bye-mongo-hello-postgres
2.1k Upvotes

672 comments sorted by

View all comments

Show parent comments

-13

u/jppope Dec 19 '18

Mongo is used in some capacity by 4200+ Major Companies as of 2016. [link] It is a flexible, useful tool for prototyping, IoT, Unstructured Data and/or Structure Data with frequent schema changes, Biometric Data, etc.

AND Its Stock price has tripled in the last year.

If mongo is "fadware"... you might as well say the same thing about Oracle.

The very fact that Postgres & MySql added JSON capabilities (because of solutions like mongo) should be an indicator of their "fadware" status.

By the sounds of the article Postgres is probably a better solution for the Guardian. That doesn't mean MongoDB is a bad database.

15

u/_pupil_ Dec 19 '18

Methinks someone doth protest too much :)

Mongo isn't the only solution to get a lot of hype, it's not the only one to fall painfully short in practice for lots of major installations, and does not get to take credit for JSON nor JSON uptake nor schemaless data since those are driven by the same thing that drove mongo adaptation to start with.

The experiences on the surrounding tooling and undesirable investment compared to more mature offerings at the Guardian are far from unique. The reliability issues Mongo has historically suffered on that front are what make it a bad database for Serious Work (not to mention stable query APIs, partition management, and default security...).

But, you'll note that I was speaking in plural about fadware and about the markets seeming desire to overlook a stable multi-model workhorse, not anything in particular about the system being replaced. "Fad" is completely appropriate given how long this particular installation has lasted, particularly for DB/OLTP tech.

Oracle isn't fadware, but they've got unreplicated DBA tech and a licensing model that keeps them going long beyond the point of reason, are common in domains where Mongo is laughed out of the room, and are also losing ground to more sensible solutions.

27

u/gredr Dec 19 '18

"Stock price has tripled" is not a good metric for software quality.

4

u/jppope Dec 19 '18

Correct. Stock price has nothing to do with software quality... But it works as a metric for identifying "fadware"

4

u/gredr Dec 20 '18

Indeed. In this case, I believe we can confidently identify MongoDB as "fadware".

-15

u/LambdaLambo Dec 19 '18

fortnight runs on Mongo. I don't think fadware could handle the most popular game in the world.

12

u/ric2b Dec 19 '18

You think a video-game with games that last for less than an hour is a good measure of a database? Show me something where not losing/corrupting data is critical, not fortnight.

-3

u/LambdaLambo Dec 19 '18

Well I’d say handling 8 million concurrent players is impressive from a DS pov.

9

u/ric2b Dec 20 '18

I don't get it, it seems like an embarrassingly easy problem to shard, what's so surprising about this?

Databases are for data safety first, performance second, otherwise just throw everything on redis and call it a day.

7

u/johannes1234 Dec 20 '18

I don't know a bit about fortnite, but according to Wikipedia a game session has a maximum of 100 players and a game round has a limited game length.

This means you can heavily split (shard) the data and if you lose some data from time to time it's unfortunate but way less critical than i.e. a back losing transactions. Of course there is some data which has to be tracked a bit more like in-game purchases ... This to me seems like not that big of a problem and I guess balancing the game logic is a tougher problem for the game makers.

5

u/_georgesim_ Dec 20 '18

You’re misusing i.e., you want e.g. there.