Κάντε shard με ένα key που είναι παρόν σε σχεδόν κάθε query και απλώνει το load ομοιόμορφα — συνήθως ένα hashed user_id — και μετά σχεδιάστε για resharding και cross-shard queries από την πρώτη μέρα. 1 δισ. χρήστες δεν χωράνε ούτε αποδίδουν σε ένα node· σπάτε τα rows σε πολλές βάσεις και δρομολογείτε κάθε query στο shard που το κατέχει.
┌──────────────┐
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
