시스템 설계 · 기초
DAU(Daily Active User) 수치로부터 초당 요청 수나 저장 용량 같은 추정치를 어떻게 도출하나요?
힌트 · 사용자 수에 사용자당 요청·데이터량을 곱해 환산하는 관점에서 접근하세요.
트래픽 패턴데이터베이스 부하캐싱 전략확장성
모범답안
DAU 수치로부터 초당 요청 수나 저장 용량 같은 추정치를 도출하는 것은 시스템 설계의 핵심입니다.
먼저, DAU에 사용자당 평균 요청 수를 곱하여 초당 총 요청 수를 추정합니다. 이때, 사용자들이 특정 시간대에 몰리는 트래픽 패턴을 고려하여 피크 타임의 요청 수를 계산하는 것이 중요합니다. 예를 들어, DAU가 100만이고 사용자당 평균 5개의 요청을 한다면, 하루 총 요청 수는 500만입니다. 이를 초당 평균 요청 수로 환산하면 약 58건이 되지만, 피크 타임에는 이보다 훨씬 높을 수 있습니다.
저장 용량은 DAU에 사용자당 평균 데이터 생성량과 보존 기간을 곱하여 추정합니다. 예를 들어, 사용자당 하루 1MB의 데이터를 생성하고 1년간 보존한다면, 100만 DAU의 경우 연간 약 365TB의 저장 공간이 필요하게 됩니다.
이러한 추정치는 데이터베이스 부하, 캐싱 전략 수립, 그리고 시스템의 전반적인 확장성을 고려하는 데 필수적입니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 시스템 설계 면접 질문
- 기능 요구사항(Functional Requirement)과 비기능 요구사항(Non-Functional Requirement)의 차이는 무엇인가요?
- 규모 추정(Capacity Estimation)이란 무엇이며, 설계 단계에서 왜 필요한가요?
- QPS(Queries Per Second)란 무엇이며, 평균 QPS와 피크(Peak) QPS를 나누어 추정하는 이유는 무엇인가요?
- 로드 밸런서를 시스템 구성도의 어느 위치에 두며, 그 위치에서 어떤 역할을 하나요?
- 로드 밸런서(Load Balancer)란 무엇이며, 주요 알고리즘을 설명해주세요.
- 캐싱(Caching) 전략의 종류와 각각의 사용 시나리오를 설명해주세요.