As NoSQL pioneer, MongoDB has always played a rebel role in defining a new kind of database. While it used to be confined to "new applications," we estimate that today, up to a third of its workloads are getting poached from the Oracles and SQL Servers of the world. MongoDB considers Oracle and Microsoft, not Couchbase or DataStax, as its prime competition.
From the get-go, MongoDB's core constituency has been developers, but the recurrent theme of its annual event, MongoDB World in Chicago this week, was all about enterprise: MongoDB is increasingly handling mission-critical real-time workloads or enterprise-scale applications that aggregate data from multiple relational databases. MongoDB obviously doesn't want to lose mindshare with developers, but going forward, it wants respect from the adults in charge of enterprise applications.
The emergence of NoSQL and convergence with relational databases
The conference provided the occasion for announcing the next update, MongoDB 3.6 and expansion of its Atlas managed cloud services. MongoDB 3.6, still only available for preview from GitHub, is expected to become available later this calendar year.
Version 3.6 will have goodies for developers, DBAs, and even BI users. We don't normally think of MongoDB for BI visualizations; instead, we think of how it exposes its data to BI tools via a BI Connector. And in its latest release, Tableau 10.3 returns the compliment courtesy of a button that hooks directly into Mongo's BI Connector.
But as most data platforms are now adding basic charting capabilities to dispense with the need for third party tools like Tableau or Qlik, MongoDB is now joining the party. But the unique feature in this case is that it will visualize the data without having to resort to the usual trick of flattening JSON data to make it look relational. The new feature, MongoDB Charts, will let you query individual fields without having to merge them all into a single row, or explode the document and represent nested fields in separate relational tables.
A related array feature will let you perform complex queries that would otherwise require multiple aggregation steps, such as find a value, average it, then compare the averages to other records in the collection. Or you can do mass updates of specific line items across multiple documents with a single update query. Now, to make DBAs really happy, how about adding upsert capabilities that provide conditional updating? We can always wish.
For DBAs, MongoDB's document validation feature will add JSON Schema support that will tighten control for collections that must be more consistently structured. Additionally, new "retryable writes" will provide a degree of fault tolerance if update or insert processes are stalled by disruptions like network errors. For admins, the next version will default to local host mode so, if you want to do something dumb like leave your cloud-based instance unprotected, you will have to go out of your way to do so.
And no new release of Mongo would be complete without some developer goodies. A new Stitch feature will provide a REST API that allows multiple devices or services to interact with an Atlas cloud-based MongoDB-based application or database. With Stitch, all the authentication rules will be preconfigured on the back end so you won't have to keep rewriting them each time you want to connect a new app.
With MongoDB's Atlas managed cloud service passing its first birthday at the conference, the service is now going live on Microsoft Azure and Google Cloud as well.
Launched a year ago on the Amazon cloud, Atlas is now live in almost every AWS region (except China and US federal government). MongoDB intends to make the Atlas experience as similar as possible on each of the clouds, but there are some differences.
For instance, while each cloud offers the equivalent of Virtual Private Cloud that uses software-defined network isolation to make the cloud look like an extension of your network, for now, AWS is the only one with the added option of peering, which eliminates the need for specifying white lists.
While MongoDB has not yet carved its cloud roadmap in stone, it did speak publicly about extending Atlas with the ability to deploy instances across multiple regions, and eventually, multiple clouds. The latter will be a significant stretch, but is meant to appeal to organizations seeking to avoid lock-in with a single cloud.
But indirectly, it's also a response to emergence of global cloud databases, like Microsoft Cosmos DB, which seeks to one-up MongoDB at its distributed deployment game.