MongoDB – Advantages and When to Use ?
MongoDB is document oriented NoSQL database that provides high performance, high availability and easy scalability. The data objects in MongoDB are stored as separate documents within a collection instead of storing the data in columns and rows like in traditional RDBMS. It uses JSON or BSON to store data objects or documents. In this article you will learn mongodb advantages and know when to use it.
Relationship of RDBMS terminology with MongoDB
- Database -> MongoDB (Database)
- Table -> Collection
- Index -> Index
- Row -> Document
- Column -> Field
- Table Join -> Embedding Documents
- Primary Key -> Primary Key (Default key _id will be provided by MongoDB itself if not mentioned)
When to use MongoDB ?
You could choose or use MongoDB in the following situations
- If the performance and scaling is your priority.
- When you would like to de-normalize and reduce let say for example, from 3 tables (RDBMS) to just one table/collection and minimize number of queries.
- If you wanted to store the data in the form of JSON documents (Document oriented Storage)
- For processing low-latency real-time data MongoDB may be good choice.
- When you have evolving data requirements and design might change over period of time.
- For applications that deals with Big Data, Blogs and Content Management, Social Networking sites etc.,
Advantages of MongoDB
The following are the key advantages of MongoDB
- High Performance
- High Availability
- High Scalability – Easy to scale-out
- Schema Less (One collection can hold different documents. Number of fields, content and size of the document can differ from one document to another).
- Data can be represented either in JSON or BSON.
- No need of complex table joins
- Mapping of application objects to database objects not needed.
- Faster access of data.
- Fast in-place updates.
- Easy integration with Big-data Hadoop.
Further Learning
- Google Compute Engine Introduction and Features
- Cloud Interconnect is a direct, private connection for extending corporate network to Google Cloud