#distributed-database #dht #kv #leader #join #learning #flare

flare-dht

The library to create distributed data management. (Not ready to be used in production.)

22 releases

0.1.26 Feb 4, 2025
0.1.21 Jan 25, 2025
0.1.12 Dec 10, 2024
0.1.10 Oct 28, 2024
0.1.0 Aug 29, 2024

#892 in Database interfaces

Download history 1/week @ 2024-11-13 2/week @ 2024-11-20 38/week @ 2024-11-27 237/week @ 2024-12-04 51/week @ 2024-12-11 1/week @ 2024-12-18 234/week @ 2025-01-01 421/week @ 2025-01-08 228/week @ 2025-01-15 117/week @ 2025-01-22 87/week @ 2025-01-29 122/week @ 2025-02-05 8/week @ 2025-02-12 13/week @ 2025-02-19 5/week @ 2025-02-26

198 downloads per month
Used in flare-cli

Apache-2.0

130KB
3.5K SLoC

Flare DHT

The learning project to create the distributed KV database in Rust language.

This library is still in the early stage of development. No recomment for using.

// === Example

// [source, bash] // ---- // # start leader // cargo run -- -p 8001 -n 0 -l // # start other and join to leader // cargo run -- -p 8002 -n 1 --peer-addr http://127.0.0.1:8001 // cargo run -- -p 8003 -n 2 --peer-addr http://127.0.0.1:8001 // ----

TODOs

  • sharding KV store
  • Raft-based replication
  • join mechanism
  • leave mechanism
  • distributed shards
  • customizable shard interface
  • member discovery
  • shard rebalancing
  • more APIs
  • lock
  • batch (atomic?)
  • client SDK
  • transaction support
  • testing
  • Kubernetes Deployment

Dependencies

~27–40MB
~627K SLoC