So, I started thinking about partitioning with CouchDB and realized that since views are just map/reduce, we can do some magic that's harder if not impossible with other database systems. The idea in a nutshell is to create a proxy that sits in front of multiple servers and "sprays" the view queries to all servers, merging the results - hence CouchSpray. This would give us storage and processing scalability and could, with some extra logic, provide data redundancy and failover.
I have a github repo that as of right now only contains a README file with more details: http://github.com/bbrowning/couchspray/tree/master I'd like to open the discussion up to the community before starting on the code. Does this sound useful? Is someone else already working on a similar solution that I could contribute to instead of duplicating effort? My initial idea would be to use mochiweb as the proxy in a manner similar to fuzed (http://github.com/KirinDave/fuzed/tree/master) and, license permitting, potentially borrow some code from that project as well as re-use some of Couch's existing API handling and map/reduce code. Thanks, - Ben
