System Design Interview

Wrap Up

Wrap up 1 min readLesson 5 of 5

This chapter covers many concepts and techniques. To refresh your memory, the following table summarizes features and corresponding techniques used for a distributed key-value store.

Goal/ProblemsTechnique
Ability to store big dataUse consistent hashing to spread load across servers
High availability readsData replicationMulti-datacenter setup
Highly available writesVersioning and conflict resolution with vector clocks
Dataset partitionConsistent Hashing
Incremental scalabilityConsistent Hashing
HeterogeneityConsistent Hashing
Tunable consistencyQuorum consensus
Handling temporary failuresSloppy quorum and hinted handoff
Handling permanent failuresMerkle tree
Handling data center outageCross-datacenter replication

Table 2

Reference materials