On Wed, Apr 6, 2011 at 7:27 PM, Anurag Priyam <[email protected]> wrote:
> get_shard returns the sharding information. It just returns an index
> into some another table that maps these vbuckets to actual server. Its
> implementation can be anything. Its a blanks slate. This is where I
> want to couple libhashkit
>
> uint_32 get_shard(key){
> return md5(key) % NO_OF_SERVER;
> // return (my_random(5));
> // return my_own_hash(key)
> // return ketama(key)
> }
>
> Where ketama() would return the id of a virtual server. And the
> vbucket table, would make sure that each virtual node actually maps to
> a real node.

The source of all confusion was my pre-vbucket idea that get_shard
should directly return a node (drizzle_con_st), combined with my
efforts to prove vbuckets to be the holly grail.

> This looks to me inherently pluggable, flexible (that I have been
> crying about in all my mails :P). The entire ideas was to highlight a
> two stage map, and not vbuckets.

So, this is my 'new' (:P) idea of a pluggable partitioning scheme. I
guess, Stewart wanted something similar. I want to know what everyone
thinks about providing a two stage mapping (vbuckets :P) as described
above to provide a general sharding framework for libdrizzle.

-- 
Anurag Priyam
http://about.me/yeban/

_______________________________________________
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