개략적인 규모 추정(back of the envelope estimation)은 보편적으로 통용되는 성능 수치상에서 사고 실험(thought experiments)을 행하여 추정치를 계산하는 행위로서, 어떤 설계가 요구사항에 부합할 것인지 보기 위한 것
2의 제곱수
2의 x 제곱 | 근사치 | 이름 | 축약형 |
10 | 1천(thousand) | 1킬로바이트(Kilobyte) | 1KB |
20 | 1백만(million) | 1메가바이트(Megabyte) | 1MB |
30 | 10억(billion) | 1기가바이트(Gigabyte) | 1GB |
40 | 1조(trilion) | 1테라바이트(Terabyte) | 1TB |
50 | 1000조(quardrillion) | 1페타바이트(Petabyte) | 1PB |
모든 프로그래머가 알아야 하는 응답지연 값
메모리는 빠르지만 디스크는 아직도 느리다.
디스크 탐색(seek)은 가능한 한 피하라.
단순한 압축 알고리즘은 빠르다.
데이터를 인터넷으로 전송하기 전에 가능하면 압축하라.
데이터 센터는 보통 여러 지역(region)에 분산되어 있고, 센터들 간에 데이터를 주고받는 데는 시간이 걸린다.
가용성에 관련된 수치들
고가용성(high availability)
- 시스템이 오랜 시간 동안 지속적으로 중단 없이 운영될 수 있는 능력
- 퍼센트로 표현하며, 100%는 시스템이 단 한번도 중단된 적이 없음을 의미
SLA(Service Level Agreement)
- 서비스 사업자가 보편적으로 사용하는 용어로, 서비스 사업자와 고객 사이에 맺어진 합의를 의미
- 서바스 사업자가 제공하는 서비스의 가용시간(uptime)이 공식적으로 기술 되어 있다.
- 가용시간은 관습적으로 숫자 9를 사용하며, 9가 많을수록 좋다.
팁
- 근사치를 활용한 계산 99,987/9.1 => 100,000/10
- 가정(assumption)들은 나중에 살펴보도록 적어두기
- 단위 붙이기
- 대부분 QPS, 최대 QPS, 저장소 요구량, 캐시 요구량, 서버 수 등 추정 요구.
'시스템 설계 > 가상 면접 사례로 배우는 대규모 시스템 설계 기초' 카테고리의 다른 글
6장. 키-값 저장소 설계 (0) | 2025.01.24 |
---|---|
5장. 안정 해시 설계 (0) | 2025.01.20 |
4장. 처리율 제한 장치의 설계 (1) | 2025.01.17 |
3장. 시스템 설계 면접 공략법 (1) | 2025.01.12 |
1장. 사용자 수에 따른 규모 확장성 (1) | 2025.01.12 |
댓글