대규모 설계 기초
[System Design Interview] 2장 개략적인 규모 추정
Wanderer Kim
2023. 6. 11. 20:50
728x90
개력적인 규모 추정 : 보편적으로 통용되는 성능 수치상에서 사고 실험을 행하여 추정치를 계산하는 행위로서, 어떤 설계가 요구사항에 부합할 것인지 보기 위한 것이다.
2의 제곱수
제대로 된 계싼 결과를 얻으려면 데이터 볼륨의 단위를 2의 제곱수로 표현하려면 아떻게 되는지를 우선 알아야한다.
모든 프로그래머가 알아야 하는 응답지연 값
- 메모리는 빠르지만 디스크는 아직도 느리다.
- 디스크 탐색은 가능한 한 피하라.
- 단순한 압축 알고리즘은 빠르다.
- 데이터를 인터넷으로 전송하기 전에 가능하면 압축하라.
- 데이터 센터는 보통 여러 지역에 분산되어 있고, 센터들 간에 데이터를 주고받는 데이틑 시간이 걸린다.
가용성에 관계된 수치들
- 고가용성 : 시스템이 오랜 시간 동안 지속적으로 중단 없이 운영될 수 있는 능력.
- SLA(Service Level Agreement) : 서비스 사업자가 보편적으로 사용하는 용어로, 서비스 사업자와 고객 사이에 맺어진 합의.
예제 : 트위터 QPS와 저장소 요구량 추정
가정
- 월간 능동 사용자는 3억 명이다.
- 50%의 사용자가 트위터를 매일 사용한다.
- 평균적으로 각 사용자는 매일 2건의 트윗을 올린다.
- 미디어를 포함하는 트윗은 10% 정도다.
- 데이터는 5년간 보관된다.
추정
- QPS 추정치
- 일간 능동 사용자 = 3억 * 50% = 1.5억
- QPS = 1.5억 * 2트윗/24시간/3600초 = 약 3500
- 최대 QPS = 2 * QPS = 약 7000
- 미디어 저장을 위한 저장소 요구량
- 평균 트윗 크기
- tweet_id = 64bytes
- text = 140 bytes
- media = 1MB
- 미디어 저장소 요구량 : 1.5억 * 2 * 10% * 1MB = 30TB / day
- 5년간 미디어를 보관하기 위한 저장소 요구량 : 30 TB * 365 * 5 = dir 55PB
- 평균 트윗 크기
반응형