cutimage - Fotolia

AWS, MongoDB database collision stirs open source tensions

AWS' DocumentDB managed database service takes aim at the popular MongoDB NoSQL database and stirs up controversy over the rules of engagement for open source software.

AWS' introduction of the DocumentDB managed database service sparks competition with the backers of the popular MongoDB database, as well as debate over the nature of open source licensing.

DocumentDB is a fully managed document database service that is compatible with MongoDB workloads. Rather than build on MongoDB's core code base, it implements an API that supports workloads from MongoDB 3.6 and earlier. This effectively emulates the responses that a MongoDB client expects from a MongoDB server, and customers can use their existing MongoDB drivers and tools, AWS said.

MongoDB is the fifth most popular database today, according to ranking site DB-Engines. Its parent company provides commercial support for the service, which went public in October 2017 and is now valued at more than $4 billion.

DocumentDB's storage system is distributed, fault-tolerant and self-healing, and it can scale up to 64 TB of data, according to AWS. It also only writes database changes to storage, which cuts down on I/O overhead. At launch, DocumentDB supports the most commonly used features in the MongoDB 3.6 API. Over time, AWS plans to evaluate the addition of more capabilities, such as geospatial indexes and capped collections, according the company.

Not surprisingly, both AWS and MongoDB are quick to point out how their offering is superior to the other.

MongoDB's API is useful to build applications quickly, but the creation and management of large-scale clusters is difficult, as are data replication and recovery, AWS said.

Eliot Horowitz, CTO and co-founder, MongoDBEliot Horowitz

For its part, MongoDB sees AWS' move as validation of the document-model approach to data management, said CTO and co-founder Eliot Horowitz. He also pointed out that MongoDB 3.6 was released back in October 2017, while the current version, 4.0.5, was released in December 2018.

Amazon DocumentDB pricing is based on instance class, storage consumption for current documents and snapshots, I/O operations, and data transfer. It's available now in two U.S. East regions (North Virginia and Ohio), U.S. West (Oregon) and Europe (Ireland).

MongoDB's gravity pulls in celestial competition

While AWS' DocumentDB presents a challenge to MongoDB's database position, it also could further validate MongoDB's approach to information management. But there's more at stake with what AWS has done with DocumentDB.

"DocumentDB is not the same database as MongoDB, so compatibility is a one-way street to what is, essentially, a proprietary DBaaS with initially open-source-compatible coding," said Doug Henschen, an analyst with Constellation Research in Cupertino, Calif.

To that end, DocumentDB is similar to AWS Aurora, which offers compatibility with MySQL and PostgreSQL.

"Good luck moving an Aurora instance or a new DocumentDB instance back off of AWS and running anything like that mutated instance back on the original source database management system," Henschen said.

To counter AWS, MongoDB and other third-party vendors offer support for hybrid and multi-cloud deployments. Microsoft Azure added MongoDB support for its Cosmos DB service in early 2018, for example. MongoDB offers an on-premises version of the database, as well as Atlas, which is available on AWS, Azure and Google Cloud Platform. That means MongoDB is also an AWS customer and partner.

"It's not quite as simple as develop once and deploy anywhere, as there are small deployment differences. But it comes close," Henschen said.

MongoDB compatibility has been around a long time, and the company encourages that alignment as a way to push its representation of JSON data, said Curt Monash of Monash Research in Acton, Mass.

"Amazon has correctly judged that much of the value in MongoDB lies in its programming interfaces, and so offering full compatibility is a good promise to make," he said.

However, database portability and transparency aren't a guarantee, and users should expect some legwork to move applications from MongoDB to Amazon DocumentDB.

"It may not be as difficult as moving a decades-old application from one SQL RDBMS to another, but there surely will be glitches and gotchas somewhere," Monash said.

The real question is how Amazon's MongoDB-compatible database management system will compete with the more mature MongoDB. AWS' marketing claims in this instance are more aggressive than the ones it made for earlier database-related products like Redshift and Amazon MapReduce, Monash said.

Licensing move heightens cloud database tensions

AWS DocumentDB is the result of more than two years of development, according to AWS. There were rumors that AWS would introduce a MongoDB-related service at the recent re:Invent conference, and that a change to MongoDB's license structure in October may have stymied AWS' plans temporarily.

DocumentDB's API is based on MongoDB-supported drivers licensed under Apache 2.0, according to AWS. Apache 2.0 is a popular, permissive license that allows companies to reuse, modify and distribute source code royalty-free.

DocumentDB is not the same database as MongoDB, so compatibility is a one-way street to what is, essentially, a proprietary DBaaS with initially open-source-compatible coding.
Doug Henschenanalyst, Constellation Research

MongoDB used the GNU Affero General Public License (AGPL) v3 for the core database. But in October 2018, it said it would place all future versions and new patches for older ones under the Server Side Public License (SSPL) -- a device of its own creation. SSPL is not recognized formally by the Open Source Initiative standards and advocacy group, although MongoDB said it is in active discussions with OSI.

SSPL falls under the rubric of copyleft licenses. If an entity makes MongoDB or a modified version of it available as a service to third parties, it must make the added code available as open source over the internet to anyone at no cost, according to the company. The SSPL has no effect on MongoDB customers who have purchased commercial licenses.

MongoDB claims the licensing change was necessary to counteract moves by organizations, particularly "international cloud vendors," to "test the boundaries of the AGPL license." It did not name AWS directly, but it seems likely that AWS is among the targets, given its reputation -- deserved or not -- as a heavy user of, but not major contributor to, open source projects.

AWS claimed it did not use any code licensed under SSPL to implement DocumentDB, but the specter of litigation may be on the horizon.

"It is incorrect to say [AWS'] API is licensed under Apache 2.0," MongoDB said in a statement, but declined to comment further.

In any case, it's unlikely that AWS will ever fork over any significant revenue to MongoDB, said Stephen O'Grady, an analyst with RedMonk in Portland, Maine.

"From a strategic standpoint, if you're offering something at the scale of an [AWS], it's pretty rare they'll enter into a commercial relationship dependent on a third party," O'Grady said.

Dig Deeper on AWS database and analytics strategy

App Architecture
Cloud Computing
Software Quality