దాదాపు ప్రతి query లో ఉండి load ను సమానంగా విస్తరించే ఒక key ద్వారా shard చేయండి — సాధారణంగా hashed user_id — తర్వాత మొదటి రోజు నుండే resharding మరియు cross-shard queries కోసం plan చేయండి. 1B యూజర్లు ఒక node పై fit అవ్వరు లేదా perform చేయరు; మీరు rows ను అనేక databases అంతటా విభజించి ప్రతి query ను దానిని కలిగిన shard కి route చేస్తారు.
┌──────────────┐
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
