Distributed Key-Value Storage

Requirements

  • Support global versioning and time travel (point in time snapshot)

  • Strong consistency / Eventual consistency

  • Need to implement getRange(minKey, Maxkey)

  • Dive deep:

    • Data storage -> File storage layout to support time travel

    • Replication with strong consistency -> use Raft -> How Raft works

    • Partitioning -> replication group for each partition -> repartitioning consistency hashing

    • Failure Secnarios

    • Service Disovery

    • Protobuf communicate

source:

References: https://dl.acm.org/doi/pdf/10.1145/3582013 (KVRangeDB: RangeQueriesforaHash-basedKey–Value)

Last updated