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.