დაანაწილეთ (shard) გასაღებით, რომელიც თითქმის ყოველ query-ში ჩნდება და load-ს თანაბრად ანაწილებს — ჩვეულებრივ hashed user_id — შემდეგ დაგეგმეთ resharding და cross-shard query-ები პირველივე დღიდან. 1B მომხმარებელი ვერ ჩაეტევა ან ვერ იმუშავებს ერთ node-ზე; მწკრივებს ბევრ database-ზე ანაწილებთ და თითო 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
