System Design Glossary

Twenty terms you should be able to define, compare, and apply during a System Design interview.

Availability
The percentage of time a system successfully serves requests.
Cache
Fast temporary storage that reduces latency and database load.
CAP theorem
During a network partition, a distributed operation chooses consistency or availability.
CDN
A distributed network that serves cached content close to users.
Consistency
A guarantee describing the ordering or freshness clients observe.
Consistent hashing
A partitioning method where membership changes move only a small share of keys.
Database index
A structure that speeds reads at the cost of storage and write work.
Eventual consistency
Replicas may temporarily disagree but converge later.
Horizontal scaling
Adding machines or instances to increase capacity.
Idempotency
Repeating an operation has the same final effect as performing it once.
Latency
The time one operation spends in the system.
Load balancer
A component that distributes requests across healthy instances.
Message queue
A durable buffer that decouples producers and consumers.
Partition key
The value that decides which shard stores a record.
Replication
Maintaining multiple data copies for availability, reads, or recovery.
Sharding
Splitting a dataset across independent partitions.
SLA
A reliability commitment measured through service objectives.
Throughput
The amount of work completed per unit of time.
Vertical scaling
Increasing the resources of one machine.
Write-ahead log
An append-only change record written before database pages update.