Design a Key-Value Store

Last updated: June 17, 2026

Quick Overview

Design a distributed key-value store like Bigtable or DynamoDB. Cover consistent hashing, replication strategies, read/write quorums, compaction, and tunable consistency levels.

Google
System Design
Software Engineer
Google
June 17, 2026
Software Engineer
Onsite
System Design
Hard

174

0

301 solved


Design a distributed key-value store like Bigtable or DynamoDB. Cover consistent hashing, replication strategies, read/write quorums, compaction, and tunable consistency levels.

How to Approach This
  1. Start by clarifying functional and non-functional requirements with the interviewer.
  2. Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
  3. Draw a high-level architecture first, then deep dive into 1-2 critical components.
  4. Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
  5. Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Sharpen Your Skills on Codemia

Practice similar problems with our interactive workspace, get AI feedback, and track your progress.

Practice System Design Problems
Sample Answer
Requirements

Functional Requirements

  1. Key-Value Storage: Users can store and retrieve values associated with unique keys.
  2. CRUD Operations: Support for Create, Read, Update, and Delete operations. ...
Capacity Estimation

Capacity Estimation

  • Expected Users: Assume 1 million active users.
  • Requests per User: Each user generates approximately 10 requests per minute.
  • Total Requests per Minute: 1,000,0...

Submit Your Answer
Markdown supported

Related Questions