On Thu, Feb 19, 2009 at 4:35 PM, Ben Browning <[email protected]> wrote:
> 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.

There are plans in CouchDB's future to take care of data partitioning,
as well as querying views from a cluster. Theoretically, it should be
pretty simple. There are a few small projects that have started down
the road of writing code in this area.

https://code.launchpad.net/~dreid/sectional/trunk

Sectional is an Erlang http proxy that implements consistent hashing
for docs. I'm not sure how it handles view queries.

There's also a project to provide partitioning around the basic
key/value PUT and GET store using Nginx:

http://github.com/dysinger/nginx/tree/nginx_upstream_hash

If you're interested in digging into this stuff, please join d...@. We
plan to include clustering in CouchDB, so if you're interested in
implementing it, we could use your help.

Chris

-- 
Chris Anderson
http://jchris.mfdz.com

Reply via email to