MongoDB

What is MongoDB?

MongoDB is an open-source database management system (DBMS) that uses a document-oriented data model. It is considered a NoSQL database, as it doesn’t use the relational model, and therefore it doesn’t use SQL as its query language. It is a highly scalable, flexible, and distributed NoSQL database.

NoSQL Database means it does not use the usual rows and columns that you likely associate with the relational database management. It is an architecture that is built on collections and documents.

It allows documents to have different fields and structures. This database uses a document storage format called BSON which is a binary style of JSON documents.

MongoDB is a cross-platform Database that is currently supporting Windows, Mac, Solaris, and various Linux platforms.

Database: In a simple word, it can say Database is the physical container for data. Each of the databases has its own set of files on the file system with multiple databases existing on a single MongoDB server.

MongoDB is an open-source document-based database management tool that stores data in JSON-like formats. It is a highly scalable, flexible, and distributed NoSQL database.

What is MongoDB?

As a definition, MongoDB is an open-source database that uses a document-oriented data model and a non-structured query language. It is one of the most powerful NoSQL systems and databases around, today.

NoSQL means that it does not use the usual rows and columns that you so much associate with the relational database management. It is an architecture that is built based on collections and documents. It allows documents to have different fields and structures. The data model that MongoDB follows is a highly elastic one that lets you combine and store data of multivariate types without having to compromise on the powerful indexing options, data access, and validation rules. There is no downtime when you want to dynamically modify the schemas. What it means that you can concentrate more on making your data work harder rather than spending more time on preparing the data for the database.

Collections: In MongoDB, a collection is a group of documents. A collection may store a number of documents. A collection is the same as a table in RDBMS. The entire collection exists within a single database.

A collection may store documents for those who are not the same in structure. This is possible because MongoDB is a Schema-free database. In a relational database like MySQL, a schema defines the organization/structure of data in a database. MongoDB does not require such a set of formulas defining the structure of data in the Database. So, it is quite possible to store documents of varying structures in a collection. Basically, you no need to define a column and its datatype unlike in RDBMS, while working with MongoDB.

Document: A set of key-value pairs can be designated as a document. Documents are associated with dynamic schemas. The benefit of having dynamic schemas is that a document in a single collection does not have to possess the same structure or fields. Also, the common fields in a collection’s document can have varied types of data.

MongoDB NoSQL Database

Install MongoDB Community Edition on Windows

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/

Architecture of MongoDB NoSQL Database

A MongoDB database is different than a relational database, MongoDB uses a document-oriented model to store data. In the model, data is stored within documents of a collection wherein the relational model, data is stored within rows of a table.

  • What makes it different from RDBMS?

You can directly compare the MongoDB NoSQL with the RDBMS and map the varied terminologies in the two systems: The RDBMS table is a MongoDB collection, the column is a field, the tuple/row is a document, and the table join is an embedded document. The typical schema of a relational database shows the number of tables and the relationship between the tables, but MongoDB does not follow the concept of relationship.

Below is the table that can show how exactly NoSQL MongoDB differs from RDBMS.

MongoDB RDBMS
Document-oriented and non-relational database Relational database
Document-based Row-based
Field-based Column based
A collection based and key-value pair Table based
Gives JavaScript client for querying Doesn’t give JavaScript for querying
Relatively easy to setup Comparatively not that easy to setup
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 feature By increasing RAM, vertical scaling can happen

Important Features of MongoDB

  • Queries: It supports ad-hoc queries and document-based queries.
    • Index Support: Any field in the document can be indexed.
    • Replication: It supports Master-Slave replication. MongoDB uses a native application to maintain multiple copies of data. Preventing database downtime is one of the replica set’s features as it has self-healing shards.