Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>CouchDB is one of several available 'key/value stores', others include oldies like <a href="http://www.oracle.com/technology/products/berkeley-db/index.html" rel="noreferrer">BDB</a>, web-oriented ones like <a href="http://www.persvr.org/" rel="noreferrer">Persevere</a>, <a href="http://www.mongodb.org/" rel="noreferrer">MongoDB</a> and CouchDB, new super-fast like <a href="http://www.danga.com/memcached/" rel="noreferrer">memcached</a> (RAM-only) and <a href="http://tokyocabinet.sourceforge.net/" rel="noreferrer">Tokyo Cabinet</a>, and huge stores like Hadoop and Google's BigTable (MongoDB also claims to be on this space).</p> <p>There's certainly space for both key/value stores and relational DBs. Traditionally, most RDBs are considered a layer above key/value. For example, MySQL used to use BDB as an optional backend for tables. In short, key/values know nothing about fields and relationships, which are the foundations of SQL.</p> <p>Key/value stores typically are easier to scale, which makes them an attractive choice when growing explosively, like Twitter did. Of course, that means that any relationships between the stored values have to be managed on your code, instead of just declared in SQL. CouchDB's approach is to store big 'documents' in the value part, making them (mostly) self contained, so you can get most of the needed data in a single query. Many use cases fit on this idea, others don't.</p> <p>The current theme I see is that after the "Rails doesn't scale!!" scare, now many people is realizing that it's not about your web framework; but about intelligent cacheing, to avoid hitting the database, and even the webapp when possible. The rising star there is memcached.</p> <p>As always, it all depends on your needs.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload