ਸਾਰਾ traffic ਇੱਕ key ਵੱਲ ਭੇਜਣਾ ਬੰਦ ਕਰੋ: hot key ਨੂੰ N sub-keys (sharded counters) ਵਿੱਚ ਵੰਡੋ, duplicate reads ਨੂੰ coalesce ਕਰੋ, ਇੱਕ local cache ਤੋਂ serve ਕਰੋ, ਅਤੇ writes ਨੂੰ batch ਕਰੋ ਤਾਂ ਜੋ ਇੱਕ row ਨੂੰ ਹਰ request ਉੱਤੇ update ਨਾ ਕੀਤਾ ਜਾਵੇ। ਇੱਕ viral post ਉੱਤੇ ਇੱਕ single "likes" counter 50k writes/sec ਲੈ ਸਕਦਾ ਹੈ — ਇੱਕ row ਇੱਕ serialization bottleneck ਬਣ ਜਾਂਦੀ ਹੈ ਕਿਉਂਕਿ ਹਰ transaction ਓਹੀ lock ਲਈ ਲੜਦਾ ਹੈ।
ਇੱਕ contended row ਦੀ ਬਜਾਏ fan-out
50k inc/sec on post:123
│
hash(request) % N (split the key)
┌────────┬────────┬────────┬────────┐
▼ ▼ ▼ ▼ ▼
likes:123:0 :123:1 :123:2 :123:3 :123:4 ← sharded counters
└────────┴───┬────┴────────┴────────┘
▼
SUM on read = total (read fans in)
