Summary of use cases for non-relational storage

To understand why NoSQL is important to you as an app developer, let’s consider the use cases for some of these features:

  <ul>
    <li>
      Frequently-written, rarely read statistical data (for example, a web hit counter) should use an in-memory key/value store like <a href="http://code.google.com/p/redis/">Redis</a>, or an update-in-place document store like <a href="http://www.mongodb.org/">MongoDB</a>.
    </li>
    <li>
      <a href="http://techcrunch.com/2010/03/16/big-data-freedom/">Big Data</a> (like weather stats or business analytics) will work best in a freeform, distributed db system like <a href="http://hadoop.apache.org/">Hadoop</a>.
    </li>
    <li>
      Binary assets (such as MP3s and PDFs) find a good home in a datastore that can serve directly to the user’s browser, like <a href="http://aws.amazon.com/s3/">Amazon S3</a>.
    </li>
    <li>
      Transient data (like web sessions, locks, or short-term stats) should be kept in a transient datastore like <a href="http://memcached.org/">Memcache</a>. (Traditionally we haven’t grouped memcached into the database family, but <a href="http://adam.heroku.com/past/2010/7/19/memcached_a_database/">NoSQL has broadened our thinking on this subject.</a>)
    </li>
    <li>
      If you need to be able to replicate your data set to multiple locations (such as syncing a music database between a web app and a mobile device), you’ll want the replication features of <a href="http://couchdb.apache.org/">CouchDB</a>.
    </li>
    <li>
      High availability apps, where minimizing downtime is critical, will find great utility in the automatically clustered, redundant setup of datastores like <a href="http://cassandra.apache.org/">Casandra</a> and <a href="https://wiki.basho.com/display/RIAK/Riak">Riak</a>.
    </li>
  </ul>
  
  <p>
    Despite all the use cases described above, there will always be a place for the highly normalized, transactional, ad-hoc-query capabilities of <span class="caps">SQL</span> databases. We’re adding new tools to our toolbox, not removing old ones.
  </p>
</blockquote>

<div class="posterous_quote_citation">
  via <a href="http://blog.heroku.com/archives/2010/7/20/nosql/">blog.heroku.com</a>
</div>

<p>
  Nice summary on the Heroku blog about use cases for non-relational storage services.
</p>

Posted via email from Sijin Joseph

Sijin Joseph
Sijin Joseph
Director of Engineering

Hands-on technology leader with 15+ yrs of experience in launching products, scaling up teams and setting up software infrastructure.