Fai sharding per una chiave presente in quasi ogni query e che distribuisce il carico in modo uniforme — di solito uno user_id hashato — poi pianifica fin dal primo giorno il resharding e le query cross-shard. 1B di utenti non entra né performa su un singolo nodo; suddividi le righe su molti database e instradi ogni query verso lo shard che la possiede.
┌──────────────┐
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
