...

>

Design of a Key-Value Store

Design of a Key-Value Store

Define the functional and non-functional requirements essential for designing a highly available key-value store. Analyze how needs like configurable consistency and always-write capability influence System Design decisions. Understand the simple get and put operations that enables complex distributed storage.

Requirements

We will design a key-value store that addresses the limitations of traditional databases.

Functional requirements

While standard key-value stores offer get and put operations, this design focuses on specific characteristics:

  • Configurable service: Applications often trade strong consistency for higher availability. The system must support configurable consistency models that allow users to balance availability, consistency, cost, and performance.

Note: These configurations are set when instantiating a key-value store instance and cannot be changed dynamically during operation.

  • Ability to ...