PracHub
QuestionsPremiumLearningGuidesInterview PrepNEWCoaches
|Home/System Design/Google

Design a key-value store

Last updated: Mar 29, 2026

Quick Overview

This question evaluates knowledge of distributed storage and system design concepts, including data modeling, partitioning and consistent hashing, replication and consensus, write/read path trade-offs (e.g., LSM-tree vs B-Tree), compaction, caching, failure handling, and support for efficient range scans in a scalable key–value store.

  • hard
  • Google
  • System Design
  • Software Engineer

Design a key-value store

Company: Google

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a scalable key-value store supporting get, put, delete, and range scan. Discuss data model, partitioning and consistent hashing, replication, the write path (LSM versus B-Tree), compaction, read caching, consistency levels, and failure handling.

Quick Answer: This question evaluates knowledge of distributed storage and system design concepts, including data modeling, partitioning and consistent hashing, replication and consensus, write/read path trade-offs (e.g., LSM-tree vs B-Tree), compaction, caching, failure handling, and support for efficient range scans in a scalable key–value store.

Related Interview Questions

  • Design an Online Coding Judge Platform - Google (medium)
  • Design Calendar Event Conflict Handling - Google (medium)
  • Design a pub-sub replay system - Google (hard)
  • How to host many domains on one IP? - Google (medium)
  • Design street-view image ingestion and storage system - Google (hard)
Google logo
Google
Sep 6, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
8
0

System Design: Scalable Key–Value Store with Range Scans

You are asked to design a distributed key–value (KV) store that supports the following operations at scale:

  • get(key)
  • put(key, value)
  • delete(key)
  • range_scan(start_key, end_key, limit)

Assume billions of keys, multi-terabyte datasets, horizontal scalability, and high availability across multiple availability zones. Low p99 latency is desired for point lookups and sequential range scans.

Discuss and justify design choices for the following topics:

  1. Data model and API semantics (keys, values, ordering, TTLs, versioning, deletes/tombstones, range scans)
  2. Partitioning scheme and consistent hashing (how to scale out, balance load, and support efficient range scans; splitting/merging; hot-spot mitigation)
  3. Replication (topology, placement, quorum vs consensus, replica count, cross-AZ)
  4. Write path: LSM-tree versus B-Tree (trade-offs and your choice)
  5. Compaction strategy (policies, amplification, tombstones, TTL expiry, backpressure)
  6. Read path and caching (Bloom filters, block/row cache, readahead/prefetch for scans)
  7. Consistency levels (point reads/writes and range scans; options and guarantees)
  8. Failure handling (node/zone/network failures, recovery, rebalancing, data integrity)

Provide a high-level architecture and call out key trade-offs, pitfalls, and how you will validate the design under load.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Google•More Software Engineer•Google Software Engineer•Google System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.