Design a Key-Value Store with Transactions

Advanced · 24 min read · Low-Level Design, Case Studies: Core

Nested transactions, optimistic concurrency, versions, tombstones and TTL.

This is an Advanced lesson, part of Premium. What it covers:

  • What the interviewer expects
  • 1. Requirements
  • 2. The two key decisions
  • 3. Class design
  • 4. Implementation
  • 5. What isolation level is this?
  • 6. Alternatives worth naming
  • 7. TTL
  • 8. Patterns used
  • 9. Extensions
  • Interview questions
  • Further reading

Previous: Design an In-Memory File System · Next: Design Splitwise