추정과 용량 계획(estimation and capacity planning) — 예상 부하, 데이터량, 자원 필요를 계산 — 은 시스템 디자인의 중요한 부분입니다. 대략적인 "봉투 뒷면(back-of-the-envelope)" 계산이 디자인 결정(얼마나 확장할지, 어떤 자원이 필요한지)에 정보를 주며, 디자인 면접에서 흔합니다.
추정이 중요한 이유
규모 추정은 디자인 결정에 정보를 줌:
→ 서버 몇 대? 저장소 얼마? 어떤 데이터베이스? sharding/캐싱이 필요한가?
→ 규모 이해 (작음 vs 막대함)가 전체 디자인을 형성
→ 대략적 숫자가 확장 여부/방법을 안내 (과잉 또는 과소 엔지니어링 회피)
무엇을 추정하나 (봉투 뒷면)
✓ 트래픽 → 사용자, 초당 요청 (QPS); 읽기 vs 쓰기 비율 (예: 읽기:쓰기 100:1)
→ 피크 vs 평균 (피크에 맞춰 설계); 일일 활성 사용자 → 요청
✓ 저장소 → 항목당 데이터 크기 × 양 × 시간에 따른 성장 → 총 저장소 (와 성장률)
✓ 대역폭 → 초당 전송 데이터 (요청 크기 × QPS)
✓ 메모리 → 필요한 캐시 크기 (예: hot 데이터의 20% 캐시)
→ 대략적 추정 (자릿수 수준) → 디자인에 정보를 주기에 충분
