Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does CouchDB really split views across servers?

I'm currently delving into CouchDB, and I am puzzled by the distribution of Map-Reduce computations in views. I see a lot of resources mentioning that Map-Reduce is inherently distributed, because you can process one half of your data on server A, the other half on server B, and then reduce both results. One example would be slide 16 of this presentation:

http://www.slideshare.net/gabriele.lana/couchdb-vs-mongodb-2982288

This seems fairly logical, but:

  • CouchDB does not seem to provide an API for dispatching computations to several servers. The only distribution it appears to provide is replication of the entire data set to other servers (which would then, I assume, compute their own view data).

  • CouchDB uses a B-Tree to store view data based on keys that are generated in the Map step of the view algorithm, which precludes appropriate partitioning of documents based on what server they should be on.

So, does CouchDB distribute Map-Reduce computations at all? Or is the Map-Reduce property used merely to cache values in the B-Tree nodes?

like image 309
Victor Nicollet Avatar asked Feb 04 '23 01:02

Victor Nicollet


1 Answers

You are looking for BigCouch, it enables a CouchDB cluster and uses distributed MapReduce.

like image 88
diogok Avatar answered Feb 05 '23 16:02

diogok