System Design Glossary
Canonical definitions for every system design and distributed systems concept. Written for depth over brevity. The reference engineers use before interviews.
A
API Gateway
System DesignA single entry point that handles cross-cutting concerns such as auth, rate limiting, and routing for a set of backend services.
Attention Mechanism
AI SystemsA neural network operation that allows each element in a sequence to selectively weight every other element when computing its representation, enabling context-aware processing across arbitrary distances.
B
Blob Storage
Data SystemsObject storage for unstructured binary data: images, videos, documents, ML model weights. Designed for durability and throughput at scale, not low-latency random access.
Bloom Filter
Data StructuresA space-efficient probabilistic data structure that tests set membership with no false negatives and a tunable false positive rate.
C
CAP Theorem
Distributed SystemsA distributed system can only guarantee two of three: Consistency, Availability, and Partition Tolerance.
CDN
System DesignContent Delivery Network. A geographically distributed network of edge servers that caches content close to end users, reducing origin server load and cutting time-to-first-byte by 50–200ms depending on user location.
CQRS
Architecture PatternsCommand Query Responsibility Segregation separates the write model (commands) from the read model (queries) so each can be optimized independently.
Circuit Breaker
Distributed SystemsA fault tolerance pattern that stops forwarding calls to a failing dependency, giving it time to recover while preventing cascading failures across callers.
Consistent Hashing
Distributed SystemsA distributed hashing scheme that minimizes key remapping when nodes are added or removed.
D
Database Sharding
Data SystemsHorizontal partitioning of a database across multiple machines to distribute load beyond a single server's capacity.
Distributed Caching
Data SystemsA shared cache layer across multiple nodes used to absorb read traffic from the primary database and reduce latency on hot data paths. The difference between a 2ms and a 200ms read at scale.
Distributed Consensus
Distributed SystemsThe problem of getting distributed nodes to agree on a single value despite network failures and partial outages. The theoretical foundation behind etcd, ZooKeeper, and Kafka leader election.
E
Embeddings
AI SystemsNumerical vector representations of text, images, or other data that encode semantic meaning. The translation layer that converts unstructured content into a form that can be compared mathematically.
Event Sourcing
Architecture PatternsAn architectural pattern where application state is derived by replaying an append-only log of events rather than storing and mutating current state directly.
L
LSM Tree
Data SystemsLog-Structured Merge Tree is a storage structure that converts random writes to sequential writes by buffering mutations in memory before flushing sorted files to disk.
Leader Election
Distributed SystemsA protocol by which distributed nodes agree on a single authoritative node to coordinate a task, preventing split-brain and duplicate operations.
Load Balancing
Distributed SystemsDistributes incoming traffic across multiple servers to prevent any single node from becoming a bottleneck. The mechanism that makes horizontal scaling functional in practice.
M
R
RAG Pipeline
AI SystemsRetrieval-Augmented Generation is an architecture that grounds LLM responses in specific retrieved documents, reducing hallucination on facts outside the model training set.
Rate Limiting
System DesignControls the rate of requests to a service. Common algorithms: Token Bucket, Leaky Bucket, Fixed Window, and Sliding Window.
S
Saga Pattern
Architecture PatternsA pattern for managing distributed transactions as a sequence of local transactions, each with a compensating transaction for rollback when a step fails.
Service Mesh
System DesignAn infrastructure layer that manages service-to-service communication through sidecar proxies, providing retries, mTLS, and observability without application code changes.