MongoDB Continues to Advance

With 20 million downloads to date, MongoDB is arguably today’s fastest-growing database technology. MongoDB’s rapid growth has been driven primarily by its attractiveness to developers. By using JavaScript Object Notation (JSON) documents as the native database format, MongoDB reduces the impedance mismatch between program code and database, allowing more agile and rapid application development.

However, the MongoDB database is not as easy to use for non-programmers who find the JavaScript-based query syntax difficult, and running MongoDB as a distributed database at large scale creates performance and administrative challenges that are not for the faint of heart.

At the June MongoDB World event in New York City, the company announced a number of significant innovations that attempt to address these concerns.

Improvements to the MongoDB Compass UI allow users to interrogate the database without constructing the sometimes complex JavaScript code that otherwise would be required. The tool displays a graphical representation of an attribute’s data distribution and allows users to create a query filter by clicking on a data point or selecting a range of data. Unfortunately, Compass is part of the enterprise version of MongoDB, so it’s not available to the open source MongoDB user.

For those who are comfortable with the JavaScript language, enhancements to the aggregation framework—the MongoDB API that enables users to construct the equivalent of SQL GROUP BY queries—now allow for the development of recursively hierarchical queries that can perform graph-style traversals similar to those often performed in social or computer networking applications.

This aggregation framework now also supports the definition of read-only views. Views can restrict the attributes or documents available to nominated users, providing the equivalent of row-level security that is commonplace in relational databases.

In addition, there are enhancements to MongoDB sharding—the standard means of scaling MongoDB beyond a single writable server. The improvements provide for the establishment of zones, which allows data to be routed to the nodes of the cluster located in local data centers, or allows data to be tiered so that hot/recent data can be placed on systems with an expensive solid-state disk, while colder, older data can be placed on systems with a cheaper disk.

MongoDB has provided cloud-based monitoring, backup, and provisioning services for several years. At MongoDB World, the immediate availability of a database as a service (DBaaS) offering was announced. This service—named Atlas—provides a cloud-based, on-demand MongoDB database cluster with configurable sharding, replication, and server sizing. Atlas runs initially only on Amazon AWS but will also be available eventually on Azure and Google Cloud. A small, three-node replica set cluster (the effective minimum high availability solution) costs around $300/month.

As with most DBaaS offerings, the service offers rapid deployment and a reduction in administrative overhead. However, there are potential performance issues for applications that are not themselves resident in the same cloud, as well as some concerns about security, though the Atlas security features seem pretty robust. Finally, a cloud-based database may cost more in the long run—at least with respect to simple hardware costs—when compared to on-premise hardware.

MongoDB’s appeal to developers has largely been based on simplicity of use and alignment with development platforms, particularly those based on JavaScript. However, as MongoDB becomes more prevalent in the data center, the continuing focus on operational manageability, access to data for analysts and non-programmers, and on security is very welcome.

As with many open core software companies, MongoDB relies on sales of commercial tools to generate revenue. For the long-term success of open source databases such as MongoDB, these business models must succeed. MongoDB has been an amazing success story from an adoption standpoint, and I hope the company can establish an enduring revenue stream—perhaps based on initiatives such as Atlas and Compass—to support the continuing evolution of the technology.