The Future Will Be Documented
January 22, 2019 | Updated: January 23, 2019
MongoDB was born out of frustration from using relational databases not designed for today's modern applications. After 40 years of no real alternatives, we pioneered a new way to work with data -- the MongoDB document model and the associated query language.
Since MongoDB offered a profoundly different way of organizing data -- something that was largely experimental at the time -- we faced skepticism about the viability of the document model as a general purpose database, particularly for mission-critical workloads. However, as we continued to patiently innovate over the past 10 years and the MongoDB community grew exponentially, it became increasingly clear that the power of the document model made it the best way to work with data.
Innovate Faster With Documents
Documents address a broad range of popular data models, enabling a wide variety of use cases. Documents can incorporate key-value, relational, and graph data sets, and, of course, parent-child, list/array, and other hierarchical relationships with far more flexibility than traditional relational (tabular) database technologies. Since documents correspond directly to objects in mainstream object-oriented programming languages, developers can store and organize data according to the natural relationships among entities in the real world, thereby focusing on building applications the way it makes the most sense, not on working around the limitations of their database. Consequently, using documents dramatically increases developer productivity, enabling organizations to innovate far more quickly.
Recently, Amazon introduced DocumentDB, which it describes as "a fully managed document database service that supports MongoDB workloads." The announcement is a testament to MongoDB's wide appeal and a powerful validation of what we at MongoDB have worked so hard to prove -- that documents, not tables, are the future. It also brings awareness to and reinforces the massive opportunity for our managed MongoDB as a service, MongoDB Atlas, in a database market that is forecasted to be $84B by 2022.
MongoDB Atlas is our fully managed global cloud database that not only runs on Amazon Web Services (AWS) but also on Microsoft Azure and Google Cloud Platform. It was engineered by the same team that built the MongoDB database and it has built-in operational and security practices which automate time-consuming administration tasks such as infrastructure provisioning and database setup, ensuring high availability, global distribution, backups, and more. Introduced in 2016, MongoDB Atlas is the fastest growing part of MongoDB's business, and now accounts for 22% of MongoDB's total revenue with thousands of customers, large and small in a wide variety of industries around the world, using it to run their businesses. DocumentDB was released to compete with MongoDB Atlas, though Amazon's announcement makes no mention of MongoDB Atlas.
All Document Databases Are Not The Same
Since the database layer is the most critical layer of any application, customers should carefully choose their database and where they run it not only for what they require today, but also what they want to do tomorrow. For these reasons it is crucially important for customers to understand what DocumentDB is, and what it is not and never will be.
DocumentDB is built on Amazon's proprietary Aurora architecture, which was designed to support relational databases, not distributed systems like MongoDB. As a result, it attempts to "emulate" MongoDB. Because there are fundamental architectural differences between MongoDB and DocumentDB, there are severe feature, performance, and deep lock-in implications for customers. DocumentDB claims to support the MongoDB 3.6 API, which implies that it is at parity with MongoDB v3.6. This is not true; in fact, DocumentDB most resembles MongoDB v2.4, which was released 6 years ago.
Members of the MongoDB engineering team have spent a significant amount of time since the announcement conducting rigorous correctness and performance tests of the DocumentDB service. The results, along with the tests and data we used, can be found in our CTO Eliot Horowitz's blog. We wanted to make sure everyone is able to read these results in detail and understand the significant differences between DocumentDB and MongoDB Atlas. And, importantly, we wanted to make sure people can reproduce the observed results for themselves.
A brief comparison of the key differences is set forth below.
We have a lot of respect for what Amazon has done to advance cloud computing and the intrinsic benefits offered to customers who move to the cloud. Most importantly, we are happy to see them acknowledge what we have known for years -- that the document model is the best way to work with data, and MongoDB is the top choice for developers building modern applications.
For customers who want a true cloud-native MongoDB fully managed service, exposing all the rich query capabilities, native performance, global data distribution, and freedom from platform lock-in that MongoDB offers, the clear choice is MongoDB Atlas.