The NoSQL Hype Curve is Bending
The technology hype of 2010 was clearly NoSQL, which proved to be more of a brand-name than a technical term.
Today in his tech blog, Bozho set out his view that NoSQL is probably not a good choice for startups that don’t know yet where their database and application bottlenecks are:
But an important downside of NoSQL solutions, which is mentioned by most sources (twitter, facebook, rackspace) is that in NoSQL (at least for Cassandra and HBase) you must know what will be the questions that you will be asking upfront. You can’t just query anything you like. … And I can bet that a startup does not yet know all the questions it is about to ask its data store.
I wrote a similar conclusion in a feature article in September’s php|architect. Relational data modeling is driven by data, and there are mathematical rules of normalization that guide this process. Whereas nonrelational data modeling has no formal rules. It’s driven by the queries you need to support. Either you define your schema up front, or you define your usage of data up front, or else you set yourself up for a lot of sub-optimal queries and laborious database refactoring. You find yourself writing lots of code to reinvent the wheels that SQL gives you for free, and before long you’ve unwittingly reinvented the relational database.
There were also a few high-profile walk-backs and failures associated with NoSQL adoption in 2010. The most dramatic was the implosion of Digg after it launched a ground-up rewrite, architected around Cassandra. It turns out that no secret sauce can compensate for bad business decisions.
And who can forget the instantly-classic viral video MongoDB is Web Scale?
A little knowledge is a dangerous thing — the more little, the more dangerous.
In spite of this, I’m sure in 2011 we’ll hear some new claims of a panacea that puts a “turbo button” on your web server, supposedly obsoleting quaint, old-fashioned habits like thoughtful architecture, design, testing, and monitoring. I wonder what the miracle technology will be this time?