Design Problems/Distributed Key-Value Store

Distributed Key-Value Store

Hard
Distributed SystemsConsistent HashingReplicationCAP Theorem

High-Level Architecture

Rendering diagram...

Design a distributed key-value store that supports put(key, value) and get(key) operations. It should be highly available, partition-tolerant, and handle massive scale.

Clarifying Questions

  • Scale? (100 billion key-value pairs, petabytes of storage)
  • Latency requirements? (< 10ms for get/put at p99)
  • Consistency model? (Tunable — eventual by default, strong optional)
  • Replication factor? (Configurable, default 3)
  • Maximum value size? (Configurable, up to 1MB default)