Design a Key-Value Store — System Design Interview Practice
Design a distributed key-value database like DynamoDB or Cassandra. Work through the requirements, architecture trade-offs, and an interactive design review.
Requirements and concepts to consider
- Store and retrieve key-value pairsRequirement
- Support CRUD operationsRequirement
- Horizontal scalabilityRequirement
- High availability and fault toleranceRequirement
- Configurable consistency levelsRequirement
- Handle billions of recordsRequirement
- Support range queriesRequirement
- databasesConcept to explore
- distributed systemsConcept to explore
- nosqlConcept to explore
- consistencyConcept to explore
- availabilityConcept to explore