The Business Pros and Cons of NoSQL


Recently, my colleague Mike Vizard wrote about the "NoSQL movement" at our CTO Edge site.


When I first read the post, I thought this was some sort of protest movement, as in we're not going to take SQL any more. And in a way, it is-but really, it's more useful to think of it as an alternative way to approach data, rather than anti-SQL. Instead of the good ole relational database model we all know and love, NoSQL uses a non-relational and distributed data store approach.


That's pretty geeky, right? I mean, who cares? Let the data admin people sort it out.


Well, it turns out, there are some rather intriguing advantages to NoSQL offerings-advantages a business user would notice and appreciate.


In a recent blog post, Om Malik of GigaOm looks at why Digg recently switched to Cassandra, a NoSQL, open source data software developed by Facebook. What's great about Malik's post (from a business executive's perspective) is it nicely summarizes the business reasons companies are switching without all the tech talk.


In short, NoSQL solutions offer a way to store and use large amounts of data, but with:

  • Less overhead
  • Less work
  • Less downtime
  • Faster results


But keep in mind, when I say "large amounts of data," I mean LARGE amounts of data. As Malik wrote in his post, Digg manages 40 million visitors a month, for roughly 500 million page views each month. There's 20,000 submissions each day, with 170,000 daily Diggs and 19,000 comments: That's not what you'd call typical of most businesses.


Digg's vice president of engineering, John Quinn, explained why Digg is switching to NoSQL:

Our primary motivation for moving away from MySQL is the increasing difficulty of building a high performance, write intensive, application on a data set that is growing quickly, with no end in sight. ... As our system grows, it's important for us to span multiple data centers for redundancy and network performance and to add capacity or replace failed nodes with no downtime. We plan to continue using commodity hardware, and to continue assuming that it will fail regularly. All of this is increasingly difficult with MySQL.

I should note that in Digg's case, it's not just about switching from SQL to NoSQL. As Quinn shared in his post, Cassandra offers distinct advantages over other NoSQL tools. Twitter also recently switched to Cassandra.


Quite possibly there are advantages beyond effectively storing and moving massive amounts of data. For instance, last October, someone posted about the possible implications of NoSQL for business intelligence. But for the most part, the discussion is focused on those who trade in large volumes of data.


But then again, as Alex Popescu, a self-proclaimed geek, NoSQL aficionado and co-founder/CTO of InfoQ.com, pointed out in a January post, if NoSQL is here to stay, "integration with popular frameworks is a critical phase" for adoption. Just what you need: Another integration challenge.


If you're curious about other NoSQL options and how they work, Database Journal has a nice, short piece coming off last week's NoSQL Live conference in Boston. It looks at some of the other solutions, and includes this piece of cautionary advice from Mark Atwood, community development director at memcached vendor Gear6:

In Atwood's view, the learning curve for many of the NoSQL systems can be too steep, particularly in cases when the RDBMS approach would only require a database with a few tables. He noted that not all of the NoSQL database query tools are as well understood as their SQL counterparts, which have been in use for many years.

Still. It wouldn't hurt to keep NoSQL on your radar.