Glossary
System Design Glossary
Plain-English definitions of 53 system design terms — databases, caches, queues, algorithms and more — each with how it works and where it's used.
Algorithms
B-TreeA read-optimized, in-place-update index structure used by most SQL databases.Bloom FilterA tiny probabilistic structure answering "definitely not in the set" or "probably in".BM25The standard relevance-ranking function for full-text search.Consistent HashingMaps keys and nodes onto a ring so adding/removing a node moves only a few keys.CRDTConflict-free Replicated Data Type: data designed so concurrent merges always converge.Fan-outPushing one event to many recipients (e.g. a tweet into every follower's feed).GeohashEncodes a lat/long into a short string so nearby points share a prefix.Gossip / SWIMNodes periodically exchange state with random peers so info spreads epidemically.HyperLogLogEstimates the count of distinct items in ~KB, regardless of cardinality.IdempotencyDesigning an operation so applying it twice has the same effect as once.LSM-TreeA write-optimized storage structure: buffer in memory, flush sorted files, compact.LSM-TreeA write-optimized storage structure: buffer in memory, flush sorted files, compact.Merkle TreeA tree of hashes that lets you compare large datasets by exchanging few hashes.MVCCMulti-Version Concurrency Control: keep multiple versions so readers never block writers.Operational TransformMerges concurrent edits by transforming each op against the others so all clients converge.PaxosThe classic consensus algorithm for agreeing on a value despite failures.QuadtreeA spatial tree that recursively splits a region into four quadrants.Quorum (R+W>N)Require overlapping majorities for reads and writes so reads see the latest write.RaftA consensus algorithm: elect a leader, replicate a log to a majority.ShardingSplitting data across many databases by a shard key so it scales past one node.SimHashA hashing technique where similar documents get similar hashes.Sliding WindowA rate-limiting method that counts requests over a moving time window.Token BucketA rate-limiting algorithm: requests consume tokens that refill at a fixed rate.Two-Phase CommitAtomically commit across machines: prepare, then commit only if all agree.Vector ClockTracks causal ordering of events across replicas to detect concurrent updates.
Components
CassandraA masterless, write-optimized wide-column NoSQL store.CDNA network of edge servers that cache content near users worldwide.ClickHouseA columnar OLAP database for fast analytics over billions of rows.DynamoDBA managed, partitioned, highly-available key-value/document store.ElasticsearchA distributed full-text search and analytics engine.EnvoyA modern service proxy, the data plane of service meshes.etcdA strongly-consistent key-value store for coordination (built on Raft).FlinkA stream-processing engine for real-time windowed computation.KafkaA distributed, append-only commit log for high-throughput event streams.KubernetesA container orchestrator that schedules and scales services.Load BalancerDistributes incoming requests across many servers.MemcachedA simple, fast in-memory cache for key-value blobs.MongoDBA document (JSON-like) NoSQL database.MQTTA lightweight pub/sub protocol for IoT devices.MySQLA widely-used relational (SQL) database.NginxA high-performance web server / reverse proxy / load balancer.PostgresA powerful open-source relational (SQL) database with strong ACID guarantees.PrometheusA time-series database + monitoring system for metrics.RabbitMQA message broker for queues and pub/sub.RedisAn in-memory key-value store used as a cache, counter, queue and more.S3Amazon's object storage for files/blobs at exabyte scale.Snowflake (warehouse)A cloud data warehouse that separates storage from compute.SpannerGoogle's globally-distributed, strongly-consistent SQL database.SparkA distributed engine for big-data batch (and stream) processing.SQSAmazon's managed message queue.VitessA system for sharding MySQL horizontally.WebRTCA browser protocol for peer-to-peer real-time audio/video/data.ZooKeeperA coordination service for locks, leader election and config.
Part of SystemLore — learn how real systems work, then build them in the game.