Why mongoDB ??

Reading Time: 4 minutes

Hi readers,

In this blog, Initially we will learn about the mongoDB database, The architecture of mongoDB, the working of mongoDB and , why we should use mongoDB. At the end of this blog, we will compare mongoDB with other common databases so let’s get started.

  • We all have been working on traditional SQL databases for a long time but with time, Data is also growing rapidly all around the world. There has been an increased interest in the non-relational database, also known as ‘NoSQL’.
  • Organizations are finding new methods to handle the flood of data and inclination towards the alternate database management tools and systems that are different from the common relational database systems. Here comes mongoDB in the frame.

What is mongoDB ?

mongoDB is a document-oriented NoSQL database used for high-volume data storage. Instead of using tables and rows as in the traditional relational databases, mongoDB makes use of collections and documents. Documents consist of key-value pairs which are the basic unit of data in mongoDB. Collections contain sets of documents and functions which is the equivalent of relational database tables.

Key components of mongoDB architecture

Database: In simple words, We can call it the physical container for data. In mongoDB, A database contains the collections of documents. Therefore one can create multiple databases on the mongoDB server.

Collection: It’s a group of mongoDB documents, similar to a table in RDBMS like Oracle, MySQL. This collection doesn’t enforce any structure. As a result, schema-less mongoDB is so popular.

Document: A record in a mongoDB collection is called a document. This document consists of a key-value pair. This document is basically a BSON(Binary JSON)  document. Documents are associated with dynamic schemas. Accordingly, the benefit of having dynamic schemas is that a document in a single collection does not have to possess the same structure or fields.

Below is an example of a document database in mongoDB:-

Why should mongoDB be used ?

Since mongoDB is a NoSQL database, we need to understand why we need to use this type of database in real-life applications. Since in normal circumstances, mongoDB is always preferred by the developers or project managers when our main concern is the deal with large volumes of data with high performance. If we want to insert thousands of records in a second, then mongoDB is the best choice for that. Also, horizontal scaling (adding new columns) is not an easy process in any RDBMS system. But in the case of mongoDB, it is very much easy since it is a schema-less database. Also, this type of work can be directly handled by the application automatically. In fact there is no need for any type of administrative work to perform any type of horizontal scaling in MongoDB.

Features of mongoDB

Comparison between mongoDB and other databases

MongoDB RDBMS
Document-oriented and non-relational database Relational database
Document-based Row-based
Field-based Column based
Collection based and key-value pair Table based
Gives JavaScript client for querying Doesn’t give JavaScript for querying
Has dynamic schema and ideal for hierarchical data storage Has predefined schema and not good for hierarchical data storage
100 times faster and horizontally scalable through sharding By increasing RAM, vertical scaling can happen

MongoDB MySQL
The query language is javascript The query language is a structured query language
It represents data as JSON documents It represents data in tables and rows
Defining the schema is not required Defining tables and columns are required
It does not support JOIN It supports JOIN
MongoDB was built with high availability and scalability in mind and offers replication and sharding out of the box. Although the MySQL idea does not allow for effective replication and sharding, it does let users retrieve related data via joins, which reduces duplication

MongoDB Cassandra
It is a database system that is free and open-source, cross-platform, document-oriented It is a database system that is open-source, distributed, and decentralized
It is document-based It is column-based
It has triggers It does not have triggers
It has secondary indexes It has restricted secondary indexes

Conclusion

  • On the whole, I would say that mongoDB is a robust database with excellent capabilities and stands out in-built functions. Multi-national companies for instance Bosch, Uber, Accenture, Barclays, to name a few, use mongoDB for storing uncategorized data in the most sophisticated way.
  • If you are looking for the most efficient database to store and access data seamlessly, there is no better option than mongoDB. Although the performance analysis of mongoDB is exceptionally superb, perhaps there is no transaction support, and indeed the database uses very high memory for storage. However, the striking features you get for using mongoDB should not be sacrificed for the high-memory cost.

You can also click here for more exploration regarding mongoDB.

In the next blog, We will go through the CRUD operations of mongoDB so stay tuned at KnoldusBlogs.

References

https://docs.mongodb.com/manual/tutorial/

Written by 

Sujeet is a Software Intern at Knoldus Software. Knoldus does niche Reactive and Big Data product development on Scala, Spark, and Functional Java. He is always charged up for new things & learning. He is dedicated to his work and believes in quality output. On a personal front, he loves to play volleyball and is a big foodie.

1 thought on “Why mongoDB ??6 min read

Comments are closed.

%d bloggers like this: