Design a KV store with transactions

Quick Overview

This question evaluates a candidate's competency in designing transactional key-value stores, covering concepts such as atomicity, isolation, durability, concurrency control, storage layout, and crash recovery mechanisms.

Design a KV store with transactions

Company: Applied Intuition

Role: Software Engineer

Category: System Design

Difficulty: easy

Interview Round: Onsite

## System Design Prompt Design an in-memory/disk-backed **key-value store** that supports **transactions**. ### Functional requirements - Basic operations: `Get(key)`, `Put(key, value)`, `Delete(key)` - Transactions: - `Begin()` - `Commit()` - `Rollback()` - Multiple concurrent clients. ### Transaction semantics (clarify in interview) - At minimum: atomicity and isolation within the store. - Define isolation level target (e.g., Read Committed or Snapshot Isolation). ### Non-functional requirements - Reasonable performance under concurrent access. - Durability (optional depending on scope): data survives crashes. - Support for large datasets (may exceed memory). ### Deliverables - APIs - Data model and storage layout - Concurrency control approach - Crash recovery approach (if durability is required) - Complexity and key trade-offs

Overview: This question evaluates a candidate's competency in designing transactional key-value stores, covering concepts such as atomicity, isolation, durability, concurrency control, storage layout, and crash recovery mechanisms.

|Home/System Design/Applied Intuition
Applied Intuition logo
Applied Intuition
Feb 12, 2026
easySoftware EngineerOnsiteSystem Design
12
0

System Design Prompt

Design an in-memory/disk-backed key-value store that supports transactions.

Functional requirements

  • Basic operations: Get(key) , Put(key, value) , Delete(key)
  • Transactions:
    • Begin()
    • Commit()
    • Rollback()
  • Multiple concurrent clients.

Transaction semantics (clarify in interview)

  • At minimum: atomicity and isolation within the store.
  • Define isolation level target (e.g., Read Committed or Snapshot Isolation).

Non-functional requirements

  • Reasonable performance under concurrent access.
  • Durability (optional depending on scope): data survives crashes.
  • Support for large datasets (may exceed memory).

Deliverables

  • APIs
  • Data model and storage layout
  • Concurrency control approach
  • Crash recovery approach (if durability is required)
  • Complexity and key trade-offs

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...