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

