Sharda på en nyckel som är närvarande i nästan varje fråga och sprider lasten jämnt — vanligtvis ett hashat user_id — och planera sedan för resharding och cross-shard-frågor från dag ett. 1B användare får inte plats eller presterar på en nod; du delar rader över många databaser och dirigerar varje fråga till den shard som äger den.
┌──────────────┐
Request ─▶ Router/│ shard_of(key)│─▶ Shard 0 (users 0–…)
Proxy └──────────────┘ Shard 1
(Vitess) │ Shard 2
└─────────▶ Shard N ← each = its own primary+replicas
Directory/lookup table (which key → which shard) ── for range or resharding
