When asked “What do you like about MongoDB”, the standard set of answers would be as follows:
- It is noSQL, document oriented yet querying is easy.
- Performance is better than relational databases.
- Provides auto sharding and is scalable.
- Map-Reduce is the buzzword.
Well, I prefer MongoDB because it is so easy to use. The development is rapid and developers new to Mongo adapt to it very quickly. Installation is a breeze and the usage is also simple. The configuration needed for development is minimal. You can install and start using it then and there. If you face any problems, the vast and growing Mongo community is there to help at any time.
Application enhancement and feature addition is so much more quicker on MongoDB, as compared to relational databases. The fact that we use Ruby on Rails for development means that we hardly ever need to go to the database to “fix” any data. Thinking from a developer’s perspective, it is easier to map objects to the MongoDB document structure than to a relational database. MongoDB does what it is supposed to do. It is a data store and manages that part very well. The application will take care of constraints and business logic.
I have worked with relational databases for the majority part of my career. But Mongo’s simplicity and ease of use wins hands down as the database choice for any new applications. As with any other data store, one would need to do any estimation of how much the data is likely to grow. Having a “sharing strategy” built early on, based on growth, would help in the long run. I would signoff on the note that Mongo has reached the maturity of the relational databases even at this nascent stage.
Renu Yarday is a Senior Consultant in Ruby On Rails at Compassites. Her areas of expertise include Ruby On Rails, Java, Oracle and MongoDB. Prior to working at Compassites, She has worked at IFlex and Strata Retail and Technology Services.