On Tue, 5 Apr 2011 23:51:43 +0530, Anurag Priyam <[email protected]> 
wrote:
> I am confronted with three choices here:
> 1. Start with vbuckets to provide a simple abstraction to sharding and
> problems in its scope that probably pop up often (do they?) when
> dealing with a cluster - failure, migration of shard, and
> addition/removal of nodes. Then go for a pluggable partitioning scheme
> (if needed).
> 2. If the idea is to include ketama for its simplicity, it seems
> simple to map ketama to vbuckets. Work on vbuckets + ketama.
> 3. Start with a pluggable partitioning scheme, and later take care of
> failure, migration of shard, and addition/removal of nodes.

3 is certainly keeping the initial code purely in the client - which can
have its advantages, especially in getting started and having something
usable to show relatively quickly.

slave promotion is tricky enough in itself and I would err on the side
of this being way out of scope for this project.

> I think a simple solution here is to answer two questions here:
> 1. Decide whether a pluggable hashing scheme is even needed or not?
> - My answer is no.

It shouldn't be hard to create an API that would work for any
sharding/hashing scheme - if there's only one implementation you work
on, that's fine too (although a simple "nosharding" scheme would be good
too :)

you never know when somebody is going to come up with something truly
spectacular :)

-- 
Stewart Smith

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to