MongoDB is one of the most popular database servers that most modern developers are using today. Let’s learn what is MongoDB and why it is becoming so popular among the modern web architects and developers.
This week we had 5 interviews with some developers to build a new e-commerce project and 3 of 5 recommended MongoDB as main database technology. This same interview 5 years ago would lead to have MySQL as recommended database server.
What is MongoDB? Why is it becoming so popular?
MongoDB is an open source NoSQL database system. It is part of the NoSQL family, instead of storing the data in tables as it has been done for years in transactional databases like MySQL, MongoDB stores its data inside JSON type documents (mongodb calls this BSON), making data integration faster and easy.
MongoDB started in 2007 by 10gen software comany, and since then it has become the #1 NoSQL database solution adopted by modern mobile and web developers.
As we said before, MongoDB is opensource & free, and the binary code is available for anyone to download it for Linux, MacOS, Solaris and Windows operating systems.
MongoDB Main Features
This are some of the main features that make MongoDB the definitive NoSQL solution for app development.
One of the most requested features of web development that involes database interaction is high performance and speed. MongoDB provides high performance at all times, it was built and designed to be fast and reduce I/O usage on the database system.
It supports indexes for faster queries and it also can include keys from embedded docs and arrays.
MongoDB replication capabilities makes it easy to build HA environments for apps that require 24×7 uptime guaranteed.
MongoDB replica allows you to increase your information availability by providing data redundancy and automatic failover.
MongoDB can scale horizontally really easy. You can share the load across multiple machines using clustering & load balancing, which can help you to achieve automatic data movement across different shards.
Rich Query Language
MongoDB supports rich query language for r/w opreations, as well as: Data aggregation, Geospatial queries and full Text search.
MongoDB supports multiple storage engines such as MMAPv1 and WireTiger storage engine. You can also develop your own storage engine using MongoDB storage engine API.
MongoDB Management Service
MMS is a great tool for MongoDB users. It provides a simple way to track databases, machines, and also to help you with your backup process.
It is also useful to monitor your database and hardware usage statistics, same as query and general database performance, which can be visualized to optimize your database interactions.
And one of the most important things, it helps you to build a backup system to recover point-in-time replicas of all your data.