NoSQL has been on a tear for years, but that momentum seems to have slowed. From 2013 to 2015, the hottest NoSQL databases like MongoDB and Apache Cassandra roughly doubled in popularity, as shown in DB-Engines database ranking data. In 2016, however, they essentially flatlined.
This isn’t to say they’re not extraordinarily popular. They are, as a quick look at job postings suggests. Though lesser NoSQL lights hit their potential long ago, the best NoSQL databases continue to climb. The problem, however, is that developers increasingly want their NoSQL served in the cloud by Amazon, Microsoft, and Google. This has been evident for some time, but it wasn’t clear until now just how much it was hurting the popularity of more terrestrial databases.
Growing, growing, and then not so much
DB-Engines just released rankings for January 2017, with three NoSQL databases making the top-10 (MongoDB, Cassandra, and Redis). That’s the good news.
The bad news is that this 2017 number isn’t much different from late 2015:
Over the past year, MongoDB, Cassandra, and Redis have hardly added to their late 2015 totals, totals that had me writing that NoSQL threatened to usurp Oracle’s database reign. True, Oracle (and IBM’s DB2) spent 2016 on the skids, even as MySQL, Microsoft SQL Server, and Postgres all grew significantly more popular.
But, look at October 2013:
See the problem? Between 2013 and 2015, MongoDB and Cassandra (just out of the top-10 view in the 2013 rankings) both grew at the expense of Oracle, MySQL, and Microsoft, more than doubling in popularity (measured by a weighted amalgamation of job postings, Google searches, Stack Overflow mentions, and several other data points).
Assimilation and cloud
One way to explain this apparent lull in NoSQL’s rise is that the traditional RDBMSes have added enough NoSQL-like functionality to nudge some buyers into giving Oracle et al. a chance to get their NoSQL acts together. Given how clumsy these efforts are, however, something more is in play.
That something is the cloud, and it’s being driven by Amazon Web Services, Microsoft Azure, and Google Cloud. If you look at the relative growth of Amazon DynamoDB, for example, or Microsoft’s DocumentDB, the growth is staggering. Even more impressive, however, is the growth behind these same companies’ cloudy RDBMSes like Amazon Aurora–it’s off the charts.
It would be easy to argue this growth away, saying it’s just a reflection of starting from a small user base. That’s true, to a point. But, given that these same databases are rapidly nearing the top-20 most popular databases globally, that point doesn’t extend very far.
The argument loses all credibility when we consider the primary reasons for embracing NoSQL in the first place: The ability to handle, with ease, the variety, velocity, and volume of big data. Given that an increasing amount of this data lives in the cloud, coupled with the fact that public cloud services can make it much easier to adopt and get productive with that data, it’s no wonder that developers are flocking to AWS, Microsoft Azure, and Google Cloud to claim even more benefits than an on-premises NoSQL database can provide.
Companies like MongoDB have stepped up their cloud game with their own database-as-a-service offering, which is essential to their long-term success. Developers, however, are settling in with a select few public cloud providers and are going to default to the database offerings they provide.
Is it game over for the traditional NoSQL databases? No. But there are clear signs that they need to significantly up their game in 2017 if they want to be anything more than the winners of yesterday’s popularity contests.