Shardez par une clé qui est présente dans presque toutes les requêtes et répartit la charge uniformément — habituellement un user_id hashé — puis planifiez le resharding et les requêtes cross-shard dès le premier jour. 1 milliard d'utilisateurs ne tiendra pas et ne performera pas sur un seul nœud ; vous découpez les lignes sur plusieurs bases de données et routez chaque requête vers le shard qui la détient.
┌──────────────┐
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
