Channels ▼

Arnon Rotem-Gal-Oz

Dr. Dobb's Bloggers

Yes to NoSQL

April 01, 2010

There seems to be some backlash building up against NoSQL with posts like Ted Dziuba  ";I Can't Wait for NoSQL to Die"; or Dennis Forbes'  ";The Impact of SSDs on Database Performance and the Performance Paradox of Data Explodification (aka Fighting the NoSQL mindset)";.

These are interesting articles to read and yes RDBMSs are not going the way of the dodo yet (I even said that in  ";The RDBMS is dead";, which by the way, was written before NoSQL was coined, but I digress ). Nevertheless, other options, namely various NoSQL choices, prove to be easier to work with, and  are  a better fit in some circumstances.

Few time (ok very few times), that's because of sheer size (The ";Google";s) but what about the rest of us, should we just stick to good-old-RDBMSs?

If you are have a good understanding of RDBMSs (and/or a great applicative DBA working in your team) then in many cases the answer would be yes. I had a chance to review a couple of systems recently that deal with large amounts of data (in the Petabytes) both systems had a very good DBA teams working on the solution to a point that even ORM was not that important for the solution.

However, in many other cases NoSQL can be a better option. For instance let's take the Digg case Dennis Forbes talks about. Assuming, for the sake of argument that Dennis completely nailed Digg's requirements(*) and his single computer +SSD solution is a reasonable solution for Digg. Still the fact is that the Digg's team where not able to solve their problem with an RDBMS and the same team was able to pull it off with a NoSQL solution. So even if we say the team is mediocre (something they are probably not), NoSQL made it easier to solve a problem they couldn't have otherwise - that's a good thing in my book. 

There are additional reasons to use NoSQL besides  sheer size and better alignment with developers' mind-share though. The more important ones of those are  to get cheaper (vs. comparable commercial RDBMS solutions) scalability and availability.  Again if we look at the Digg switch to Cassandra they cited  ";the lack of redundancy on the write masters is painful"; and the administrative overhead as main reasons.

In any event it It is important to keep in mind that  NoSQL is not a silver bullet. You need to assess whether or not it is suitable for the problem you have at hand for instance NoSQL solutions place emphasis on different parts of the CAP theorem than RDBMSs do is this what you need? etc.



* I think that Dennis over-simplify Diggs situation since they also, for example, have heavy concurrent writes etc. 

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.