ਇੱਕ ਅਜਿਹੇ key ਨਾਲ shard ਕਰੋ ਜੋ ਲਗਭਗ ਹਰ query ਵਿੱਚ ਮੌਜੂਦ ਹੋਵੇ ਅਤੇ load ਨੂੰ ਬਰਾਬਰ ਫੈਲਾਏ — ਆਮ ਤੌਰ ਉੱਤੇ ਇੱਕ hashed user_id — ਫਿਰ resharding ਅਤੇ cross-shard queries ਲਈ ਪਹਿਲੇ ਦਿਨ ਤੋਂ ਯੋਜਨਾ ਬਣਾਓ। 1 ਅਰਬ users ਇੱਕ 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
