NoSQL Zone is brought to you in partnership with:

Alec is a Content Curator at DZone and lives in Raleigh, North Carolina. He is interested in Java and Android programming, and databases of all types. When he's not writing for the NoSQL and IoT Zones, you might find him playing bass guitar, writing short stories where nothing happens, or making stuff in Java. Alec is a DZone Zone Leader and has posted 579 posts at DZone. You can read more from them at their website. View Full User Profile

The Achilles' Heel of NoSQL

  • submit to reddit

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?


Denis Robert replied on Mon, 2014/07/07 - 5:32am

Even in the relational world, analytics is best done on a data store dedicated to OLAP workloads. It's usually a very bad idea to run reports on a transactional store. That you can do it on a traditional RDBMS doesn't mean you should, and that' sway large corporations have invested vast sums building data warehouses.

So the fact that a transactional store built in MongoDB isn't appropriate for analytics is no different than saying that a transactional store built in MySQL isn't appropriate either. No transactional store is ever going to be appropriate for analytics. That's NoSQL's strength, not it's "Achille's heel"; that it recognizes that in real life, different workloads require different data stores, and that to try to shoehorn every workload into a single database leads to failed projects and oversized datacenters requiring massive amounts of cash to run. 

If you want to use an inappropriate data model for transactional workloads, and an inappropriate one for analytics, and an inappropriate one for flexible search, then by all means use an RDBMS. You'll be able to have your one size fits all solution that will kind of work for everything, but won't work well, at least not without many man-years of optimizations and hacks, for anything. Your time to market will suck, and you had better hope you have no competitors waiting to beat you to that market. Because in the meantime they will have built a leaner, meaner, more flexible and higher performance solution for a third of the cost using nosql solutions. 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.