7 ms·
I'm not up to speed on the reason for the MongoDB animosity, can anyone enlighten me?
by savanaly 12y ago
I'm not up to speed on the reason for the MongoDB animosity, can anyone enlighten me?
- cordite 12y agoOne of Mongo's fatal problems is that the database has been known to say it has fulfilled its durability promises, but that's only sending a packet to the kernel, not confirmed received by others. Same with writing to disk. So a crash can lose more data than originally thought. Other things like continually pointing to each other, not figuring out a master for hours has made some people tear their hair out, despite the documentation saying it should behave in a sane way.
- tinco 12y agoMongoDB is a database with some properties that match a specific niche, but to gain popularity they marketed it as a general purpose database that anyone could use. The result is that many developers who bought into the hype train are now salty because they encountered the limitations at unexpected and unfortunate moments that might have cost them uptime or data.
- harel 12y agoOr in other words: Developers bought into the hype without checking the facts or reading the manual. Same attitude causes people to change frameworks every 2 days, refactor code bases three time a week and generally be flippant about technology, depending on what is cool this hour.
- erispoe 12y agoCan you elaborate on these limitations?
- deleted 12y ago[deleted]
- mark_l_watson 12y agoI agree about MongoDB being for specific niches. I have used it for offline analytics (writes to a master, with slaves on different servers performing different analytics) and also on my laptop to collect training text and for storing intermediate results (small amount of data, the JSON document format was handy for my application). I was very happy with it for those applications. For most applications I usually use Postgres.
- savanaly 12y agoThanks for the helpful answer. What was the specific niche it was filling, and why is it not practical for other cases? Or if you don't feel like repeating this info for the zillionth time, is it explained in an essay or blog post somewhere? My googling turned up little.
- gaius 12y agoIt is also the case that it was advertised to developers with the promise that you don't need Ops or DBAs or anyone like that. These developers found it did indeed work well for 1 developer on 1 machine working on 1 app with 1 very simple database accessed on 1 connection. Then they chucked it over the fence to Ops who were expected to make it work in Production, and everything about it was found to be woefully inadequate, and the Ops guys were forced to carry the can. Those guys feel - quite rightly - that they were shafted by MongoDB, both the company and its fans.
- otis_inf 12y agoMongoDB is like MySQL: it promises you the world, and you believe it can deliver, and it often does, till that day when it committed a transaction which it shouldn't have, tripped over its own clogged up mess and spilled your carefully collected data all over the floor. Without telling you.
- vkjv 12y agoBecause it is used... a lot. The only technologies that don't have animosity are the technologies that no one has ever used.
- Wilya 12y agoRandom counter-examples: Python, PostgreSQL, RabbitMQ, Redis, ElasticSearch, zsh, grep, ssh, git, ... There's "one lonely dude complaining on the internet", which you can safely ignore. And there's "half the audience has horror stories to tell", which should probably be a red flag.
- MichaelGG 12y agoThey released a DB with great hype that: - had a global write lock. - mmap was the extent of their io and memory management - called rand() in in client to decide if it should report errors - said a write was committed before even sending it out - released benchmarks that measured how fast they could put data into local RAM, but compared it to real dB's - lost data/corrupted on 32 bit builds and dismissed that as being by design - is generally better off replaced by postgres but hyped by people that don't know any better That's off the top of my head. I'm sure there are competent users and it makes sense in some cases but the general feeling is that it's over hyped for the little it is. Their early mistakes make people very cautious about trusting them with important data. And by over hyped, I'm also taking about people that go on about how amazing it is to have a document store, but ignore the obvious idea of using pg and making a table consisting of (key, document) and using XML or JSON operators on top. I might be totally wrong.