Project

General

Profile

Idea #2853

Updated by Tim Pierce over 9 years ago

There is a growing consensus that rendezvous hashing is a more appropriate solution for this problem than consistent hashing: 

 http://en.wikipedia.org/wiki/Rendezvous_hashing 

 Some thoughts here from earlier technical discussions: 

 * Rendezvous hashing makes it harder to perform weighted block distribution (we may be able to get around this by adding virtual storage nodes) 
 * Computing N hashes per block transaction (one for each keep node or virtual node) seems acceptable as long as N isn't huge; the more precise you want your weighting to be, the more hashes you have to compute. 
 * If the map of storage nodes is tree structured, you can get O(log n) performance, e.g. compare group1 to group2, then follow the branch and compare group3 to group4, etc 

Back