تخمینہ اور گنجائش کی منصوبہ بندی — متوقع بوجھ، ڈیٹا کی مقدار، اور وسائل کی ضروریات کا حساب لگانا — سسٹم ڈیزائن کا ایک اہم حصہ ہے۔ سادہ "back-of-the-envelope" کے حسابات ڈیزائن کے فیصلوں (کتنا بڑھانا ہے، کون سے وسائل درکار ہیں) کو سمجھانے میں مدد دیتے ہیں اور ڈیزائن انٹرویوز میں عام ہیں۔
تخمینہ کیوں اہم ہے
Estimating scale informs DESIGN decisions:
→ how many servers? how much storage? what database? do you need sharding/caching?
→ understanding the SCALE (small vs massive) shapes the whole design
→ rough numbers guide whether/how to scale (don't over- or under-engineer)
کیا تخمینہ لگانا ہے (back-of-the-envelope)
✓ TRAFFIC → users, requests/sec (QPS); read vs write ratio (e.g. 100:1 reads:writes)
→ peak vs average (design for peak); daily active users → requests
✓ STORAGE → data size per item × volume × growth over time → total storage (and growth rate)
✓ BANDWIDTH → data transferred per second (request size × QPS)
✓ MEMORY → cache size needed (e.g. cache the hot 20% of data)
→ rough estimates (order of magnitude) → good enough to inform design
