title: Why is MapReduce in CouchDB called "incremental"?
body: <p>I am reading the O'Reilly CouchDB book. I am puzzled by the reduce/re-reduce/incremental-MapReduce part on page 64. Too much is left to rhetory in the O'Reilly book with the sentence</p>
  
  <blockquote>
    <p>If you're interested in pushing the ede of CouchDB's incremental reduce functionality, have a look at Google's paper on Sawzall, ...</p>
  </blockquote>
  
  <p>If I understand the word <em>"incremental"</em> correctly, it refers to some sort of addition -operation in the B-tree data structure. I cannot yet see why it is somehow special over typical map-reduce, probably not yet understanding it. In CouchDB, it mentions that there is no side-effects with map function - does that hold true with reduce too?</p>
  
  <p>Why is MapReduce in CouchDB is called "incremental"?</p>
  
  <h3>Helper questions</h3>
  
  <ol>
  <li>Explain the quote about incremental MapReduce with Sawzall.</li>
  <li>Why two terms for the same thing i.e. reduction? Reduce and re-reduce?</li>
  </ol>
  
  <h3>References</h3>
  
  <ol>
  <li>A Google paper about <a href="http://research.google.com/archive/sawzall.html" rel="nofollow">Sawzall</a>.</li>
  <li><a href="http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views" rel="nofollow">Introduction to CouchDB views</a> in the CouchDB wiki and a lot of blurry blog references.</li>
  <li><a href="http://guide.couchdb.org/" rel="nofollow">CouchDB O'Reilly book</a></li>
  </ol>