Name the decision first, then do the arithmetic.
40 writes a second fits one primary; 90,000 needs shards. 40 versus 60 changes nothing. Would a different answer change what you draw?
Thirty thumbnails, read one by one or all at once?
Serially, 30 seeks and 30 reads add up to ≈ 560 ms. Issue them in parallel and it’s one seek plus one read, ≈ 18 ms.
From assumptions to a decision
- State assumptions where they can be corrected
- Convert: ÷ 10⁵ per second, × 8 for links
- Add a peak factor, copies and headroom
- Sanity-check, then say the decision it drives
12/s
is what a million a day really means
A day is 86,400 s, call it 10⁵, so a billion a day is 12,000 a second. That 14% rounding error is noise.
Size for the busiest hour, not the day’s average.
If 10% of a day’s orders land between 8 and 9 pm, the peak is 0.10 × 24 = 2.4× average. Events can hit 25×.
Start from a real number, RBI’s September 2026 UPI count.
2.4 × 10¹⁰ a month is about 9,000 a second. Assume a 3× peak: 30,000. Four messages each through the switch: 120,000 a second.
Photo storage: just the photos?
Bad: Just the photos
10⁷ a day × 2.5 MB = 9 PB a year.
Good: Three copies of each
27 PB a year. The extra copies are two-thirds of it.
Ledger writes need 18 shards. A year online, 292 TB at 4 TB each, needs 75.
The rule
The largest count wins: 75. Archive after 90 days and storage needs only 18.
Remember
Estimate only to make a decision, and name it first. State assumptions, divide by 10⁵, apply a peak factor, add copies and headroom, keep one significant figure, sanity-check, then say what it changes.