개략적인 규모 추정을 위해서는 규모 확장성 표현에 능숙해야 한다.
- 2의 제곱수
- 응답 지연(latency) 값
- 고가용성
2의 제곱수
- 데이터 최소 단위 : 1 byte = 8bit
- ASCII 문자 하나 메모리 크기 : 1 byte
모든 프로그래머가 알아야 하는 응답지연 값
- 메모리는 빠르지만 디스크는 아직 느리다.
- 디스크 탐색(seek) 가능한 피하기
- 단순한 압축 알고리즘은 속도가 빠르다.
- 데이터를 인터넷으로 전송하기 전에 가능하면 압축하기
- 데이터 센터는 여러 지역에 분산되어 있고, 센터들 간에 데이터를 주고 받는 시간은 꽤 걸린다.
가용성에 관계된 수치들
- 고가용성(high availability) : 시스템이 오랜 시간동안 지속적으로 중단 없이 운영될 수 있는 능력
- SLA(Service Level Agreement) : 서비스 사업자(service provider)와 고객 사이에 맺어진 합의
- 서비스 사업자가 제공하는 서비스의 가용시간(uptime)이 공식적으로 기술되어 있다.
예제 : 트위터 QPS와 저장소 요구량 추정
- 월간 능동 사용자 3억명
- 50% 사용자가 트위터를 매일 사용
- 평균적으로 각 사용자는 매일 2건의 트윗을 올린다.
- 미디어를 포함하는 트윗은 10%
- 데이터 5년 보관
- 미디어 저장을 위한 저장소 요구량
- 1.5억 X 2 X 10% X 1MB = 30TB
- 5년 미디어 보관을 위한 저장소 요구량 : 30TB X 365 X 5 = 약 55PB
'ETC > 대규모시스템설계기초' 카테고리의 다른 글
[대규모 시스템 설계 기초] 13장 검색어 자동 완성 시스템 (0) | 2023.07.23 |
---|---|
[대규모 시스템 설계 기초] 5장 안정 해시 설계 (0) | 2022.09.29 |
[대규모 시스템 설계 기초] 4장 처리율 제한 장치의 설계 (0) | 2022.09.29 |
[대규모 시스템 설계 기초] 3장 시스템 설계 면접 공략법 (0) | 2022.09.29 |
[대규모 시스템 설계 기초] 1장 사용자 수에 따른 규모 확장성 (1) | 2022.09.28 |