You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| Hash ring (with vnodes) | O(log N): binary search over N points; O(1): with specialized structures | O(log N) | O(N) | O(log N + R): Take next R distinct successors |
22
22
| Rendezvous | O(N): max score | O(1) | O(N) node list | O(N log R): pick top R scores |
|**ConsistentChooseK**|**O(1) expected**|**0**|**O(1)**|**O(R^2)**; **O(R log(R))**: using heap |
28
28
29
29
Replication of keys
30
30
- Hash ring: replicate by walking clockwise to the next R distinct nodes. Virtual nodes help spread replicas more evenly. Replicas are not independently distributed.
31
31
- Rendezvous hashing: replicate by selecting the top R nodes by score for the key. This naturally yields R distinct owners and supports weights.
32
-
- Jump consistent hash and variatns: the base function returns one bucket. Replication can be achieved by hashing (key, replica_index) and collecting R distinct buckets; this is simple but loses the consistency property!
32
+
- Jump consistent hash: the base function doesn't support replication. But the math can be easily modified to support consistent replication.
33
+
- JumpBackHash and variants: The trick of Jump consistent hash to support replication won't work here due to the additional state introduced.
33
34
- ConsistentChooseK: Faster and more memory efficient than all other solutions.
0 commit comments