NoSQL databases not just for the 'cool kids'
Relational DBMSes 'too rigid'
The companies peddling NoSQL databases, which are increasingly needed for web applications that have a scale that breaks relational databases, are drooling over the prospects of their products going mainstream this year.
Back in December, Couchbase, one of the front-runners in the NoSQL race, did a poll asking companies what their plans were for adopting NoSQL technologies in the coming year and why they were deploying NoSQL rather than more traditional, schema-heavy relational database management systems. You have to take the Couchbase survey results with a dash of salt, and perhaps some pepper, too, since the company uses its own website and newsletter subscriber lists as well as advertising in various online rags and through tweets on the #NoSQL hash tag to pester IT shops about what their NoSQL plans were. The poll was not limited to asking questions about Couchbase's variant on the Memcached data store, but the results will likely skew a little more towards enthusiasm about NoSQL technologies than your typical SMB shop at the far other end of the spectrum. This is something that James Phillips, co-founder of the database upstart, conceded in his blog post going over the survey results.
Couchbase generated responses from 1,351 people, and this is it said it was interested in adopting NoSQL technologies this year:
About half of the companies polled say they have already funded NoSQL projects during the first half of 2012, and among the largest enterprises – those with more than 250 developers, and that is a very big IT shop indeed – almost 70 per cent have NoSQL projects cooking. About 40 per cent of the companies surveyed say that NoSQL is very important or critical to their applications today, and another 37 per cent said that it is becoming more important. Again, these are clearly companies out there on the bleeding edge of web applications, but the sentiments that they express are ones that could become more common in mainstream IT shops as they develop sophisticated applications akin to hyperscale web apps. "Replace as much as possible of Microsoft SQL Server," "My hope is that I can finally stop using MySQL in 2012," and "Free us from Oracle," were typical write-in comments from survey takers.
"NoSQL database technology has its roots in large, consumer web companies," Phillips wrote. "Google gave us BigTable. Amazon created Dynamo. Many of the early adopters of systems like Couchbase and MongoDB were of this ilk: Zynga, SmugMug, AOL, TheKnot.com and the like. But we've been seeing increasing adoption from 'more traditional' industries – financial services, insurance, automotive, transportation, media, manufacturing – and the survey results indicate that NoSQL will become even more 'horizontal' in 2012 and beyond. I did not expect we would find the level of interest in this breadth of industries, this soon."
Of those polled, 53.6 per cent said they had used Couchbase/Membase data stores in 2011 to develop and run their web applications, with 10gen/MongoDB being cited by 32.9 per cent of those polled, DataStax/Cassandra by 6.8 per cent, Basho/Riak by 4.9 per cent, and other NoSQL data stores by 21.3 per cent. Only 20.4 per cent of respondents said they had no NoSQL databases in their shops – clearly this is a wildly skewed poll (although it is not totally useless). Looking ahead, 69.7 per cent of those polled said they would use Couchbase/Membase in projects coded this year, 36.4 per cent said they would be using 10gen/MongoDB, 11.1 said they were looking at DataStax/Cassandra, 7 per cent chose Basho/Riak, and 23.2 per cent cited other possibilities. Only 6.5 per cent said they had no plans for NoSQL stuff, despite being interested enough to take the poll.
One indication of the mainstreaming of NoSQL technologies that was encouraging to Couchbase was the relative ranking of programming languages used in conjunction with these NoSQL data stores. Says Phillips: "The languages being used to build applications atop NoSQL database technology, while they include a variety of more progressive choices, are dominated by the mundane: Java and C#."
While there has been a lot of noise about a native C driver for Couchbase, only 2.1 per cent of those polled said that C was the "most widely used" language for applications in their NoSQL environment. Java, C#, PHP, Ruby, Python, and Perl rank in that order in terms of importance for these schema-hippie applications. ®