Design a Horizontally Sharded SQL Database (Vitess)
Problem
Design PlanetScale's core: a horizontally sharded MySQL platform (Vitess) with online schema changes.
Requirements
Functional:
- Shard tables across many MySQL instances
- Route queries; scatter-gather cross-shard
- Online, non-blocking schema changes
- Replicas for reads + failover
Non-functional:
- Petabyte scale, high QPS
- Zero-downtime schema migrations
- Strong durability
Discussion points
- Sharding (vindexes), routing, scatter-gather
- Resharding without downtime
- Online schema change (branch/deploy-request workflow)
- Replication, failover, consistency
- Connection pooling and query planning
added …