Wikipedia says that MongoDB is world’s fourth most popular database after Oracle, MySQL and MS-SQL (which have been in the market for more than 20 to 30 years) and the first most popular database for document stores.
In the last blog, I discussed how I learned about MongoDB and what differences in terminologies an Oracle DBA will feel while working with this NoSQL database. In this blog, I will get further into details about some of the functionalities and the latest features.
Why is MongoDB something that is important to know about? Wikipedia says that MongoDB is world’s fourth most popular database after Oracle, MySQL and MS-SQL (which have been in the market for more than 20 to 30 years) and the first most popular database for document stores.
Gartner in its report titled Magic Quadrant for Operational Database Management Systems which compares the products from the database vendors on several parameters, recognized MongoDB in its “leaders” category. While you should always refer MongoDB documentation for the production decisions, my main goal while writing this blog is to give you a basic idea about its environment.
The latest version of MongoDB is 3.2.0 was announced in November of 2015. This is a major release after much talked about version 3.0 was released in March. These latest versions provide some of the most important features expected from a mature technology.
- MongoDB started with MMAPv1 as its default storage engine. In version 3.x a pluggable storage engine API allows us to integrate it with various other storage engines available in the market. Specifically in version 3.2, WiredTiger is now the default one while other supported engines also include MMAPv1, the new encrypted storage engine and an in-memory storage engine. However, some organizations use MongoDB with other available third party storage engines like InnoDB and RocksDB depending on the use cases.
- The new encryption storage engine (part of Enterprise Advanced version of MongoDB 3.2) allows for encryption at the database level which in previous versions needed external solutions.
- The new in-memory storage engine (presently available in beta testing and expected to reach in production in this year as part of Enterprise Advanced version of MongoDB 3.2) will allow MongoDB to compete with other database solutions in the in-memory category like AeroSpike.
- Data validation at the document level is now possible on the document side itself instead of letting the application code to do it. This comes as a relief to the people who worry about garbage data getting inserted into the database.
- BI connector is now available (part of Enterprise Advanced version of MongoDB 3.2) to the users for integrating MongoDB across SQL compliant BI tools like Tableau, Qlik etc. This is a major breakthrough as users will be able to reap benefits out of the existing BI infrastructure with a NoSQL database.
- New operators have been introduced to improve the existing aggregation framework.
- A new GUI tool (MongoDB Compass) has been introduced to provide a high-level visualization of databases. Currently available on Windows and OS-X platforms, this comes handy for architects and DBAs who are unaware of the underlying data model. It works with versions 2.6 and above and is included as part of MongoDB Professional and Enterprise Advanced.
- MongoDB Cloud Manager and Ops Manager provide various monitoring, backup and restore capabilities similar to Oracle Cloud Control.
- There has been some major enhancements in Replication and Sharding capabilities like the introduction of new protocol version in replication for improvement in failover times, new config server mechanisms in sharding to improve maintenance etc.
With this I conclude the blog and in my next I will discuss about Replication. I hope you found this information valuable. If you would like to read more about MongoDB, please read my earlier blog Relational to NoSQL: A Terminological Comparison of Oracle and MongoDB.
Click to read the second part of the blog MongoDB: The Latest Features-Replication