September 10, 2013
First, a fact: MongoDB is by far the world's most popular NoSQL database. That's an interesting fact, but it's not very helpful unless we understand why.
As for why MongoDB is so popular, Will Shulman, founder and CEO of MongoLab, nails it: "It's a data structure thing." As he notes,
The difference between the way we model things in code, via objects, and the way they are represented in persistent storage, via tables, has been the source of much difficulty for programmers....The document database, and in particular MongoDB, is the first successful Web-era object store, and because of that, represents the first big linguistic innovation in persistent data structures in a very long time. Instead of flat, two-dimensional tables of records, we have collections of rich, recursive, N-dimensional objects (a.k.a. documents) for records.
Small wonder, then, that 451 Research's analysis of LinkedIn profiles shows that MongoDB is in ever-growing demand:
Importantly, MongoDB could be really popular because it simply commoditizes an outdated technology, offering essentially the same product at a lower price. Over the past 10 years we've seen open source play this role, sucking margin out of expensive, proprietary technologies like UNIX.
But that's not the role MongoDB plays. MongoDB isn't commoditizing old technology. It's an innovative approach to data management that enables an entirely new breed of next-generation applications.
One way to see this is by looking at where MongoDB gets deployed. Yes, MongoDB is installed on thousands upon thousands of servers running in private data centers, personal servers and other on-premise environments. But MongoDB is also increasingly the database to beat in the cloud, as new Stackdriver data shows:
Turning to Shulman again:
While MongoDB may have ridden onto the scene under the banner of scalability with the rest of the NoSQL database technologies, the disproportionate success of MongoDB is largely based on its innovation as a data structure store that lets us more easily and expressively model the ‘things’ at the heart of our applications. For this reason MongoDB, or something very like it, will become the dominant database paradigm for operational data storage, with relational databases filling the role of a specialized tool.
It will be interesting to see Stackdriver's data in six months. I suspect we'll see even more movement toward MongoDB, just as DB-Engines data already shows. We're living in the post-transactional future when databases that enable enterprises to make immediate use of large quantities of disparate data will win, and other, legacy database technology will find its adoption seriously curtailed by the inherent limits in its rigid data schemas. It won't happen tomorrow, but it will happen, as anyone watching database adoption in the cloud can see.