What’s MongoDB?
MongoDB is the number one open-source NoSQL database management tool. It was first introduced to the market on February 11, 2009, by MongoDB Inc. under the banner of NoSQL, popular at that time. Different than the standard SQL, MongoDB uses a document-oriented database model that allows users to store any type of data on collections and documents, not tables and rows like in relational databases (SQL). We could say that the two biggest advantages of MongoDB are: its horizontal scalability, and its ability to have a dynamic schema. Of course, not everything is perfect on MongoDB. There are some downsides when using MongoDB, some of them are limitation on how fast the data can be written, and data inconsistency.

Different between NoSQL and SQL
What exactly is a NoSQL and SQL database and what is the difference between them? As we probably know by now, MongoDB is a NoSQL database this means that the way it storages the data is in collections and documents, opposite to the SQL databases that store data on tables and rows. But that’s not the only difference between them. SQL databases scale in a vertically way whereas NoSQL scale in a horizontal way. This means that the way in which you can scale your SQL database is by adding more power (CPU, RAM) to your hardware whereas a NoSQL is scaled horizontally by expanding the data servers.

MongoDB Advantages
The first big advantage of using MongoDB and why it is the number one choice for most startups is its horizontal scalability, this means: that we can scale our operation by simply dividing our database among more servers which reduce the costs. The second big advantage is its dynamic schema this basically means that you don’t have to have a predefined schema before you start your application making it more flexible when adding more data down the road.
MongoDB Disadvantages
Of course, MongoDB is not 100% perfect, one of its biggest disadvantages is the limitation on how fast the data can be written to the database because of its single node master feature. Also, this single node master feature opens room for more problem one example is that if the master node fails, a slave node will be converted to a master, but this process can take up to one minute. The second big disadvantage of using MongoDB is that MongoDB doesn’t give full referential integrity through the use of foreign-key constraints which can cause data inconsistency.
Conclusion
In conclusion, we can say that MongoDB is a very flexible and powerful database management tool. In fact, it would be the perfect choice for the application that plans to grow and evolve in the future. Of course, like any tool, it comes with advantages and disadvantages. Advantages and Disadvantages that need to be taken into consideration before starting an application.