How do we store data that exceeds the capacity of a single machine? Deep dive into horizontal scaling, consistent hashing, and celebrity hotspots.
The limits of vertical scaling. Why we partition data in the first place, and the trade-offs of splitting a database.
How basic Key-Value routing works. The catastrophic "reshuffle" problem when you try to add a new server to a modulo-based cluster.
The Hash Ring. How DynamoDB and Cassandra elegantly solve the rebalancing problem without causing a thundering herd.
Handling "celebrity hotspots", scatter-gather queries, and the routing tier. How requests actually find the right shard in production.