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.
...