You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by Apache Wiki <wi...@apache.org> on 2009/04/12 19:15:55 UTC

[Couchdb Wiki] Update of "Introduction to CouchDB views" by PaulDavis

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The following page has been changed by PaulDavis:
http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views

------------------------------------------------------------------------------
  
  For more details see [http://damienkatz.net/2008/02/incremental_map.html this blog post]
  
- In addition: reduce functions should not grow its output larger than log(n) where n is the number of input rows. ''(Reference needed)''
+ === Reduced Value Sizes ===
+ 
+ As CouchDB computes view indexes it also calculates the corresponding reduce values and caches this value inside each of the btree node pointers. This scheme allows CouchDB to reuse reduced values when updating the btree. This scheme requires some care to be taken with the amount of data returned from reduce functions.
+ 
+ As a rule of thumb, the data returned by reduce functions should remain "smallish" and not grow faster than log(num_rows_processed). Although violating this requirement will not cause an error, btree performance will degrade drastically. If you have a view that appears to work well on small data sets but grinds to a halt as more data is added you're probably violating the growth rate characteristics.
  
  == Interactive CouchDB Tutorial ==