74. Design a Wide-Column Store like Cassandra
A leaderless wide-column store: a token ring with virtual nodes, consistency tuned per query, an LSM write path and repair that keeps replicas converged.
Pick a system. Work through the problem. Compare your approach.
Company tags are community-reported. Counts on cards show how many people reported that design.
A leaderless wide-column store: a token ring with virtual nodes, consistency tuned per query, an LSM write path and repair that keeps replicas converged.
A key-value store like DynamoDB, from one durable node to Paxos-replicated partitions to global tables run for thousands of tenants.
A relational database like PostgreSQL: WAL and MVCC on one server, quorum replication and failover, then a sharded fleet.
Radius, k-nearest and map-box search over places that rarely move and drivers that ping every few seconds: R-trees, geohash, H3 and S2 cells, Redis GEO and OpenSearch. One-hour boards for junior, senior and staff, with the theory.
The database under a metrics platform: a WAL and head block, compressed chunks, a label index, rollups, compaction and blocks in S3.
Every committed change in Aurora and DynamoDB, read from the log and delivered in order per row to search, caches, Redshift and an S3 lake.
Dish reviews only from customers who ordered them, votes counted from a change stream, reviews ranked by the Wilson bound, payouts made exactly once.
Ten charities, three days, $100 M: charge through a third-party processor exactly once, queue the broadcast spikes, keep live totals on sharded counters. One-hour boards for junior, senior and staff, with the theory behind them.
Buy the cheapest offer under a maximum price from 1,000 sellers: cached offers, coalesced quotes, a hold-order-capture saga, open requests.
Real-time rated chess with server-validated moves, lag-compensated clocks, pairing by rating and a million watchers on one game.
Rank 200 million players in real time with sharded Redis sorted sets, count every game exactly once, and close a season fairly.
Design a team chat app like Slack: channels and DMs in real time, threads, unread counts and search. One-hour boards for junior, senior and staff, with the theory behind them.
One set of tags across Jira issues, Confluence pages and Bitbucket pull requests: batch renders, tag pages that never leak, suggestions, popular tags.
Billions of files, hundreds of petabytes, one strongly consistent tree: a namespace partitioned by directory, chunk servers, replication, repair, erasure coding. One-hour boards for junior, senior and staff, with the theory behind them.