Section 3: Four Hundred Fifty Saves for Every Publish - Scale Estimation & Workload Analysis
Executive Summary: This section walks the numbers in order (users, reads, writes, storage, bandwidth) with the interviewer watching. Two findings shape the rest of the design. The write path everyone draws, publish, runs at about 1.2 per second, while autosave runs at 520 per second on average and 1,560 at peak: roughly 450 saves for every publish. And reads outnumber publishes about 1,000 to 1, almost all cacheable, so the CDN is the read architecture.
The interviewer caps the marker. "Tens of millions of readers. Size it for me."
You start with Maya, because she makes the shape concrete before any totals do. Over three evenings she writes "Postgres Is Enough for Your Startup." Her editor saves roughly 540 times. She publishes once. "Hold on to that ratio," you say. "I think it's the whole story of the write side. Let me check whether it holds across the platform."
Step 1: Who Shows Up
Registered users 100M given
Daily active readers 25M 25% of registered
Monthly active writers 2M
Daily active writers 500K open the editor
Publications 10M one per user who has ever written
Published posts (existing) 50M
New posts / day 100K
Edits to published / day 200K
Average post 1,500 words ≈ 9 KB text → 20 KB JSON doc → ~5 KB zstd
Two populations with opposite habits share one data model. 25M daily readers arrive from links, mostly anonymous; 500K daily writers spend half an hour at a time inside a text box.
Sign in to continue reading
The rest of this lesson is available with a free account. Signing in with Google or Microsoft is free.
Sign in to read the full lesson