Design a Distributed Key-Value Store

Hard · System Design · about 45 minutes

Asked at Amazon, Snowflake, MongoDB, Oracle, Databricks, Apple, Datadog, Confluent, Elastic, Arm.

Design a distributed key-value store like Dynamo or Cassandra that holds ~100 TB, serves ~1M gets and puts per second with p99 under 10ms, stays available for writes when nodes or networks fail, and grows by adding machines without downtime. Unlike a cache, it is the source of truth: acknowledged writes must not be lost.

Related guides