Hi all.  I'm not sure if the subject really is the right terminology for what 
I'm trying to do.

What I want to do is maintain a routing table of database:destination pairs, so 
that on my couchdb I can name my databases however I want.  I want to 
virtualize my database names.

I can see how this concept might be the basis for sharding.  So maybe something 
like this already exists.  But sharding is not my goal here.  I want to use 
this mostly for maintenance.  Oftentimes I need to do some work on a database, 
like trimming it down or filtering some stuff out.  This work can take hours 
and I want the database always available to the end users.  So for example, I 
have a database endpoint called "database" which maps to "database_a". In the 
background I might begin a filtered replication from "database_a" to 
"database_b".  Users can still access "database" while "database_b" is being 
created.  When the replication to "database_b" is done, I want to change my 
proxy table so that requests to "database" now go to "database_b".  I can now 
forget about "database_a".

I'm sure many of you guys have run into this kind of thing before.  What would 
you guys recommend.

Thanks!

Reply via email to