Is Mongo DB can be termed as the kingmaker among all Databases
READ OUR DISCOVERINGS:- AS WHAT WE THINK MongoDB
For those who are new to MongoDB, it’s a NoSQL-Document database. Documents comprise sets of key-value pairs and are the basic unit of data in MongoDB. It is definitely one of the most popular NoSQL databases as of now. It’s widely accepted and fits a wide variety of use cases (though not all of them). In this article of the good, the bad, and the ugly, We would like to give a brief overview based on our experience with MongoDB during the past few years.
Since MongoDB is as popular as it is today, there should be more good than the bad and the ugly. If not, developers wouldn’t accept it. Below are a few good things about MongoDB.
Flexible Data Model
In today’s dynamic use cases and ever-changing applications, having a flexible data model is a boon. A flexible data model means that there is no predefined schema, and the document can hold any set of values based on any key.
Easy to Learn
MongoDB is easy to learn and quick to start with. The basic installation, setup, and execution doesn’t take more than a few hours. The more robust setup might be complex, but I will talk about it later.
You should be able to use the MongoDB database with ease in your project.
Query performance is one of the strong points of MongoDB. It stores most of the workable data in RAM. All data is persisted in the hard disk, but during a query, it does not fetch the data from the hard disk. It gets it from the local RAM and, hence, is able to serve much faster. Here, it is important to have the right indexes and enough RAM to benefit from MongoDB’s performance.
We looked at the various good things about MongoDB. Below are the few bad things. I am sure the critics are more interested in this part. MongoDB can be evil if we use it in for an improper use case.
MongoDB does not automatically clean up the disk space. So if the documents are rewritten or deleted, the disk space is not released. This happens during restart or has to be done manually.
Though speed is advertised as a big plus of MongoDB, it is achievable only if you have the right indexes. If you end up having poorly implemented indexes or composite indexes in an incorrect order, MongoDB can be one of the slowest databases.
You may end up having a lot of duplicate data, as MongoDB does not support well-defined relationships. Updating this duplicate data can be hard and, also due to lack of ACID compliance, we might end up having corrupted data.
Overall, MongoDB is a good database, provided it suits your use case. If it does not, it can get very ugly. Try using it in the wrong place and you will get burned. Analyze it well and consult an expert. You will definitely enjoy using it when it’s right.