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

Reply via email to