The Achilles' Heel of NoSQL
NoSQL is big business. A billion-dollar business, as John A De Goes points out in this recent blog post - he points to MongoDB's $1.2 billion valuation, for example. And the reason for this success, according to De Goes, is the way NoSQL accelerates development time by loosening the rigidity of the traditional RDBMS. The characterizing idea of this improvement (and many others in tech), De Goes argues, is the empowerment of individual developers:
The pervasive theme here is that NoSQL empowers developers to rapidly create new applications or change existing applications — an order of magnitude faster than they could do with legacy technologies.
But everything has a drawback, and when it comes to NoSQL, De Goes points to analytics. NoSQL databases can hold all kinds of data, but developers still need to be able to work with that data, and given the lack of analytics tooling for NoSQL, they often rely on legacy tools meant for relational data.
Because of that compromise, many companies end up basically restructuring their NoSQL data into something rigid and relational so that they can more easily work with it given the tools at their disposal. It's a painful process that De Goes calls the "Achilles' Heel of NoSQL," and it presents an opportunity for RDBMS vendors:
If RDBMS vendors get their act together and move closer to NoSQL databases, while still preserving their compatibility with legacy analytic toolchains, they may be able to slow or even reverse the tide of adoption.
We just heard about a few projects getting some attention in the SQL space - the SQL/MDA spec project and Rasdaman, for example - which aim to bring SQL to multi-dimensional data, so things may already be moving in that direction.
But if MongoDB alone is valued at $1.2 billion, it's hard to see NoSQL as a movement on the verge of destruction due to its Achilles' Heel. How could a billion MongoDB users be wrong? Ultimately, though, it's just an issue of what will happen first: will NoSQL vendors patch up their analytics problem, or will SQL vendors adopt the advantages of NoSQL before they have a chance?