Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MongoDB Is Considered Harmful and should not be used due to its data corruption and security issues. #37

Closed
duaneking opened this issue Jan 3, 2021 · 4 comments

Comments

@duaneking
Copy link

I want to preface this with the statement that I know a lot of people rag on MongoDB for no reason other than to try to act popular or cool because they don't understand the technical issues and often simply parrot that MongoDB is bad; So I need to stress that is not what I'm doing here.

I'm calling out MongoDB as a bad option because of its technical limitations and not dogma; I'm calling out its lack of engineering excellence, not claiming that its uncool. In short, I'm saying its uncool, but I'm giving you valid technical reasons for it. So my issue here is purely technical from an engineering perspective.

I highly suggest you read these and learn yourself:

@NetOpWibby
Copy link

I have no horse in this race but a comment on the gist you shared links to a discussion on HN where the claims that gist posits were debunked.

Also, the links you shared are super old as far as the web industry is concerned which means they're probably irrelevant. But hey I prefer RethinkDB, a "dead" database so maybe my analysis isn't to your liking.

@duaneking
Copy link
Author

Not true.

It linked to a HN discussion where the CEO of the company involved explicitly stated that the defaults are bad just like I said.

To quote that CEO/thread at the claim of "1. MongoDB issues writes in unsafe ways by default in order to win benchmarks" he cites "To be fair, the uses of MongoDB have shifted a great deal since then, so perhaps the defaults could change."

He also explicitly calls out that MongoDB MUST be used in an overly sharded way to be safe, explicitly calling out propagation strategies most companies refuse to do due to cost as minimal requirements to use it safely. If your going to spend that money why not spend less of it using a better data store?

He also explicitly calls out the fact that record corruption/repair is intentional, and also explains that more of the defaults are bad. If the defaults are bad and that's known why keep them that way?

Simply put, he did a lot of damage control but honestly just made things worse, but never proved anything except that many of these claims are valid issues that make MongoDB the wrong tool for the job every time.. because we cannot trust it.

@NetOpWibby
Copy link

I'll take your word for it, I mostly skimmed and lost interest at the comments about trolls.

@duaneking
Copy link
Author

duaneking commented Jan 4, 2021

The biggest issue I have with MongoDB is that it is not fully ACID compliant out of the box and for things like this you NEED that.

All the rest is just marketing the speed gains they get from not actually writing your data to disk, and marketing something MongoDB is built for as they prioritized the wrong things (Speed over data security). That's why everything operates from a queue. Its bad engineering. If the queue pops or writes fail there is absolutely no way to recover.

A Database should be stable and reliable as speed means nothing if the data is corrupted.

@subnub subnub closed this as completed Mar 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants