consist hashing

1.why do we consist hashing?

 Consist hashing is a kind of hashing that when hash table is resized , only keys/slots of keys need to be remapped on average.

 

2.what is consist hashing?

 We can consider consist hashing as a hash ring, the ring has been divided 360(in the real condition it's 232).

 When we add a node , we would randomly select K point from the ring.

 

3.what is the advantage of consist hashing?

  •   when we add/remove a new node, least of data will be affected.
  •   because we use the virtual nodes mechnism (one real node will process several virtual nodes data), so when we remove a node, it would not give the impact to a single node(since there'are several virtual nodes).
  •   data can be more balanced assigned to nodes

 

4.how to implement the consist hashing?

the related algrithm to understand the consist hashing: 

https://www.lintcode.com/problem/520/

上一篇:linux - hash algorithm


下一篇:TypeError: Unicode-objects must be encoded before hashing