Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You might think of the pros/cons of the CouchDB view model this way. (CouchDB hackers may disagree but IMO it's accurate enough for users.)</p> <ol> <li>A view function always performs a full "table scan" when it is first created (just like an RDBMS BTW)</li> <li>As long as they have no side effects, map and reduce functions can be arbitrarily complex</li> <li>Every document and map/reduce result is cached and never calculated again</li> <li>If you add or change a document, it (and only it) will be re-computed (and cached) for that view</li> </ol> <p>Given these, you can draw some conclusions about CouchDB performance:</p> <ul> <li>There is never a re-index phase for the entire data set, just incremental per document update</li> <li>Changing a view <em>function</em> forces re-building the entire index</li> <li>Since both CouchDB and RDBMS must update the index for new data, it's reasonable to think performance will be similar for heavy update/insert usage.</li> </ul> <p>Obviously YMMV and the standard cop-out, "you must test your own load" applies. However I will add a few more considerations.</p> <ul> <li>I say RDBMS is flat out superior for exploratory-style querying your data. When you don't even know what questions to ask from your data, you really can't beat a <em>language</em> for <em>querying</em> that is <em>structured</em>.</li> <li>However, once you define what you want to know, CouchDB (and perhaps Hadoop) provide the most rich querying system because you are just writing code.</li> <li>If your data set is large, NoSQL databases will scale more easily. For example, <a href="http://tilgovi.github.com/couchdb-lounge/" rel="nofollow noreferrer">CouchDB-Lounge</a> allows a cluster of couches for parallel processing. Hadoop does the same so then it would come down to secondary considerations: familiarity, maintainability, CouchDB is a web server but requires a bit more DIY; Hadoop internalizes more cluster management at the cost of complexity, foreignness, etc.</li> </ul> <p>I hope that helps shed some light on your decision!</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

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