10 parts · 22 chapters

Scaling Databases

Scaling a database is a sequence of decisions, each with a cost you keep paying. The order matters: measure, fix queries, scale up, pool connections, cache, add replicas, and only then partition or shard. This course teaches that sequence as a discipline and links into the engine courses rather than re-teaching them.

Ten parts: knowing your limits; query and schema scaling; connections and concurrency; caching; read scaling; write scaling and sharding with Vitess and Citus; multi-region and the NewSQL systems; event-driven and streaming data; reliability at scale; and a written decision framework as the capstone.

limits first · queries and schema · connections · caching · read scaling · sharding · multi-region · streaming · reliability · the decision frameworksenior → staff · engineers who own a growing database or its RFC
limits firstGolden signals, capacity models, and scaling up before out.
connectionsPooling architectures, transaction pooling, serverless storms, admission control.
cachingCache-aside to write-behind, invalidation, stampedes, Redis, the dual-write problem.
readsReplicas, lag-aware routing, read-your-writes, CQRS.
writesSharding strategies, shard keys, live resharding, Vitess and Citus internals.
globalMulti-region topologies, Spanner, CockroachDB, Aurora, Neon, data residency.
Built on the engine coursesAssumes MySQL Internals, PostgreSQL Internals and SQL; links to Cassandra and MongoDB, Redis and Kafka where they come up, and to Distributed Systems for the theory.