#consistent-hashing #system #key-space

keyspace

Dynamic key space partitioning and re-balancing for distributed systems

12 releases

Uses new Rust 2024

new 0.1.10 May 5, 2025
0.1.9 May 5, 2025
0.0.1 May 3, 2025

#1010 in Algorithms

Download history 173/week @ 2025-04-28

213 downloads per month
Used in mpchash

MIT license

7KB

keyspace

crates.io docs.rs

Key space partitioning and re-balancing for distributed systems.

Motivation

Implement a key space partitioning and re-balancing algorithm that is:

  • Memory/space efficient: scalable, no virtual nodes, for instance.
  • Fair: data is evenly distributed across partitions.
  • Compact: to compute the target node of a key, we only need to know the number of nodes n.
  • Adaptive: supports node addition and removal, with close to theoretically minimal data movement.
  • Robust: supports replication out of the box.
  • Heterogeneous: supports heterogeneous nodes (e.g. different storage capacities).

The idea is to allow system to grow to thousands of nodes, and to process millions of keys per second efficiently.

No runtime deps