A few months back, we asked the question as to what MongoDB wanted to be when it grows up. The answers to that question impact quite a lot of organizations given the popularity of the database now ranked fifth by db-Engines.
With current 3.x generation, the company that made its mark with developers as a simple, quick to implement database has been building in more enterprise-grade robustness. With the new 3.4 release, announced this week, Mongo is beefing up its capabilities for managing data placement, database consistency, and extensibility.
Data placement is top of the list for any multi-national firm that must respect data sovereignty laws, where countries (and this is especially true in the EU) mandate that data stays within the borders of the country of origin. Taken for granted with established enterprise databases, very few NoSQL database have this capability. With the new release, MongoDB makes tagging (which can be used for controlling how the data is shared or physically distributed) accessible through a higher "zones" abstraction that can be configured through visual tooling, rather than through scripting that was required up until now.
This same zones feature can also be applied to storage tiering, where data of different "temperatures" (frequency of use) can be stored on different media (e.g., dense disk, fast disk, flash, or in memory). While you can use the same tooling, MongoDB should add a different "skin" to this feature that targets the unique logic for tiering data, as opposed to localizing it.
The new release includes several features that MongoDB terms "multi-model" that provide multiple ways of accessing data beyond JSON query. At the top of the list, MongoDB at long last has finally made SQL a first class citizen, as it finally did a much-needed rewrite of its BI connector.
This was an area where MongoDB trailed Couchbase, with its SQL-like N1QL (pronounced "Nickel") language, not to mention the Hadoop (and Spark) communities, as we noted a couple weeks back reviewing Cloudera's and Hortonworks' latest SQL-on-Hadoop benchmarks.
In contrast to its earlier technology, which relied on providing extracts to BI tools, MongoDB's new BI-connector is fully MySQL-compatible, making it more accessible to BI tools. More importantly, it pushes down processing to the MongoDB database (by translating SQL commands to MongoDB query language), providing a far more scalable solution. It's a good first shot by MongoDB, as the BI connector takes the 80:20 rule in addressing the most common SQL commands; don't expect full SQL support right off the bat as SQL engines take time to flesh out (just ask any of the SQL-on-Hadoop folks).
Other examples of the multi-model approach include a graph operator, where again, MongoDB is keeping pace with other SQL and NoSQL databases in extending support. MongoDB's operator is fairly rudimentary, as it is optimized for deciphering the hierarchical data structures that are endemic to document-style JSON data that it stores. That's good for identifying company organization charts or product families, but not as useful for deciphering the complex interrelationships between social tribes. Additionally, MongoDB has improved is search facility with a faceted features that are optimized for the database; previously, you would have had to write the search logic externally in an application and then wait for the data base to perform basic (and inefficient) join operations.
Rounding out the release are features for managing database deployment and elasticity for public or private cloud operation (where it now integrates with Cloud Foundry), and for extending the capability of its Compass tool for optimizing data access. While we're on the topic of cloud, Atlas, MongoDB's own database cloud service that was only introduced in June, has drawn rapid take-up, with roughly 40% of new sales bundling it.
In all, the new features in MongoDB 3.4 might not be bleeding edge, but they are very solid steps for smoothing the rough edges of a platform that was reborn for the enterprise barely a couple years ago.