System Design Interview

System Design Interview

An Insider's Guide

Alex Xu

Nowadays, key-value stores are classified based on the two CAP characteristics they support: CP (consistency and partition tolerance) systems: a CP key-value store supports consistency and partition tolerance while sacrificing availability. AP (availability and partition tolerance) systems: an AP key-value store supports availability and partition tolerance while sacrificing consistency. CA (consistency and availability) systems: a CA key-value store supports consistency and availability while sacrificing partition tolerance. Since network failure is unavoidable, a distributed system must tolerate network partition. Thus, a CA system cannot exist in real-world applications.
1383