How MongoDB's NoSQL database is encroaching on relational database turf

Updates announced at the company’s annual MongoDB World conference this week include new analytics capabilities, a data lake for its Atlas database as a service, and the ability to query encrypted data.

Thinkstock

After overcoming early criticism and securing a position as a leading NoSQL document database, MongoDB appears to be taking steps to broaden its user base from developers to include traditional database professionals.

At its annual MongoDB World conference in New York this week, the company announced a slew of new features across its products, including a new version of its flagship database, MongoDB 6.0, along with enhanced analytics capabilities, a data lake for its Atlas database as a service (DBaaS), and the ability to query encrypted data.

Some of the new capabilities, mostly intended  to ease developer pain points while addressing some challenges it faces from traditional relational databases, can be seen as the beginning moves in a renewed, major campaign to broaden its appeal and encroach on SQL territory.

"The overt theme [of this year’s announcements] is still about catering to developers," said Tony Baer, principal analyst at data and analytics consultancy dbInsight. "But for the company to realize its aspirations to go upmarket to the enterprise, it needs to broaden its audience to traditional database professionals as well. It is making some preliminary moves in that direction, but MongoDB has not yet made the pivot."

Baer’s perspective seem reasonable, given that the company has been talking about  opportunities to win over IT professionals who have been working with relational databases, and this week announced a few capabilities traditionally associated with SQL databases.

CEO Dev Ittycheria, in an earnings call earlier this month to discuss the company's results for its fiscal 2023 first quarter, said that he expects the company’s growth to continue primarily because developers are starting to see that relational databases are not able to serve all their needs and these databases have their own limitations.

"To compensate for the limitations of the relational database, there has been a proliferation of point solution databases," Ittycheria said. "Using point solutions creates a disjointed developer experience, a far more complex architecture with multiple data silos and higher costs in order to manage and support a myriad of different technologies," Ittycheria said,  suggesting that MongoDB could act as one single solution.

The company’s latest announcements include new analytics capabilities, a set of unified features for Atlas, and the ability to query encrypted data. 

MongoDB adds in-app analytics support

MongoDB has added support for in-app analytics by integrating a feature dubbed Column Store Indexes, which will be available later this year.

Column Store Indexes is designed to enable users to create and maintain a purpose-built index that will help speed up many common analytical queries without requiring any changes to the document structure or having to move data to another system, the company said.

Column stores addressing analytical needs are fairly common in relational databases. 

"This is an example of MongoDB addressing use cases that heretofore might have led developers to consider relational alternatives," said Doug Henschen, principal analyst at Constellation Research.

The company also said that developers could now scale analytics nodes separately, which will allow teams to independently tune the performance of their operational and analytical queries without over- or underprovisioning.

This too is a common practice in relational products, especially those that are focused on analytical workloads, to ensure that the size of the nodes can meet analytical performance requirements, according to Henschen.

"MongoDB is primarily an operational database, so the node separation here also serves the purpose of not burdening or degrading the performance of the core application in any way with demanding analytical requirements. Those workloads get their own nodes and capacity," Henschen said.

An alternative for time-series data and applications

In addition to adding support for analytical workloads, MongoDB announced enhancements to its Time Series Collections feature, which had been updated with features such as data-tiering as part of its previous 5.0 release.

As part of the 6.0 release, Time Series Collections will come with support for secondary indexes on measurements, feature-read performance improvements and optimizations for sorting time-based data more quickly, the company said, adding that this will help in developing applications faster and at a lower cost, especially those that monitor physical systems, track assets or deal with financial data.

The move can be seen as the company’s effort to diversify use cases, particularly in IoT (internet of things) scenarios and monitoring of physical assets, Henschen said. 

In order to help developers build search capabilities into applications, MongoDB has added a new feature called Search Facets, which allows end users to more seamlessly browse, narrow down or refine their results by different dimensions.

New capabilities for Atlas database as a service

The company has announced several new features to ensure that development teams can better analyze, transform, and move their data in its Atlas cloud-based DBaaS,  while reducing reliance on batch processes and ETL (extract, transform, load) jobs that tend to create delays, limit productivity, and increase costs.

To help reduce costs, the company has introduced a new feature called Atlas Data Lake that can also help optimize high-performing analytical queries.

The new data lake reformats, partitions and creates partition indexes of data as it is ingested from Atlas databases, creating a highly performant companion data lake, the company said.

In addition, MongoDB has added data federation capabilities that allow developers to create virtual databases that reside in a range of different sources.

Development teams can query, transform, or create views across one or more collections, MongoDB clusters, and storage buckets, the company said.

These two features combined will help development teams to bring together the latest information from the production database with archival or historical information from the lake, Henschen said.

"This won’t replace lakes from the likes of Cloudera, Databricks, and the various Spark/Hadoop/object store-based lake offerings. It just brings a lake option to the world of MongoDB that can work in concert with other lakes," Henschen analyst explained.

In addition, the company said that it was adding an Atlas SQL Interface for data analysts who interact with Atlas data in a read-only interface.

The tool is designed to make it easy to natively query and visualize Atlas data with SQL-based tools while preserving the flexibility of the document model, the company said, adding that users could query data across Atlas clusters and cloud object stores using SQL without the need for data manipulation, schema definition, or flattening of data.

The new feature, according to Henschen and Baer, picks up where the company's business intelligence (BI) connector leaves off.

"MongoDB already had a BI Connector, which supported the likes of Tableau, Qlik, and Power BI, but this is said to be a richer interface closer to true SQL semantics for tighter integration with SQL-centric targets," Henschen said.

Optimizing for modern application architectures

In order to support modern application architectures, MongoDB has released updates to its Atlas Serverless service and added a new Vercel integration and a new Data API, among other features.

The Vercel integration will allow teams using Vercel’s platform to develop, preview, and ship websites and applications to more easily get started with MongoDB Atlas as their backend database, the company said.

Developers could also use Vercel’s Integrations Marketplace to deploy new web-based use cases on Atlas with zero configuration and instantly start building with documents that map directly to their code, it said.

In order to help accelerate development cycles, the company has released a new feature dubbed Cluster-to-Cluster Synchronization. This tool, according to the company, can provide continuous data synchronization of MongoDB clusters across environments whether in Atlas, in private cloud, on-premises, or on the edge.

Synchronization features ease cloud migration

Cluster-to-Cluster Synchronization allows users to easily migrate data to the cloud, create test and dedicated analytics environments, and support data residency requirements, the company added.

To help ease management of mobile applications, MongoDB has released a new tool dubbed Atlas Device Sync, which connects a fully managed backend database in Atlas to the company's Realm cloud application synchronization tool.

The company said that it has also added a new Flexible Sync option that grants granular control over the data synced to user applications via intuitive language-native queries and hierarchical permissions.

In order to reduce operational overhead, MongoDB has released a new feature called Data API. Data API provides developers a way to extend Atlas data into other apps and services in the cloud or into their serverless architectures, it said.

Querying encrypted data

With the assumption that existing encryption solutions for data in-transit and at-rest are unable to protect sensitive data in use, MongoDB is now offering a new service called Queryable Encryptions, in light of diverse privacy regulatory guidelines.

As part of the service, which is available in preview, MongoDB customers can encrypt sensitive data from the client side, store it as fully randomized encrypted data on the database server side, and run expressive queries on the encrypted data, company executives wrote in a blog post.

According to the company, data remains encrypted at all times in the database, including in memory and in the CPU, and the keys never leave the application and cannot be accessed by the database server.

The new feature will allow developers to query encrypted, sensitive data without impacting performance, with zero cryptography experience required, the company said, adding that the encryption is based on NIST (the US National Institute of Standards and Technology)  cryptographic primitives.

These primitives are expected to provide strong protection from attacks against the database, including insider threats, highly privileged administrators, and cloud infrastructure staff, the company said.