“MongoDB is the WORST!”
This is a statement (or something similar thereto) that I have heard or read many times. I am not here to say that this statement is right or wrong.
Though if you ask that person “Why?” and their answer is “Well just because, haven’t you heard all the issues it has?” Then that person can’t give some specific examples and THAT I will say is wrong.
I see a tendency for people to sometimes dismiss a technology on word of mouth alone. People getting info second hand can cause for some things to be twisted
Also technology changes at a very fast pace. So even if you find a blog post or article about a problem, check the date of the article. If it is over a year old the problem that article discusses could no longer be an issue in a newer version.
For example, one thing I read about MongoDB is concurrency issues where writes would lock the entire MongoDB instance. We should note that developers made this better in version 2.0 by having the lock only be on the database level. And within the last couple of months with the release of 3.0, they have been able move the lock down to the collection level.
Am I saying that MongoDB is the best? “No”. I am not going to say it is the worst either. I feel that it has its place. Would I use it to replace an established RDMS, probably not. Would I use it for something new that could benefit from a NOSQL solution like MongoDB? “Maybe”. I would want to do more research first.
I use MongoDB as the example; however, you could replace “MongoDB” in this post with many things (Microsoft Azure SQL Database, DynamoDB and even SQL Server).
I just want to advise people not to dismiss things on hear-say or limited knowledge alone. Before you start making declarations about things being the “worst” or the “best” do your own research and don’t just parrot what you hear.