개략적인 규모 추정 - 대규모 시스템 설계 기초 2장

broccolism·2022년 8월 26일
1
post-thumbnail

가상 면접 사례로 배우는 대규모 시스템 설계 기초

개략적인 규모 추정

= 보편적으로 통용되는 성능 수치상에서 사고 실험을 행하여 추정치를 계산하는 행위. 어떤 설계가 요구사항에 부합할 것인지 보기 위한 것.

= 어떤 설계가 요구사항에 적합한지 보기 위해, 일반적인 성능 수치를 가정하고 사고 실험을 하여 추정치를 계산하는 것.

익숙해져야 할 수치

2의 제곱수

2의 x제곱근사치이름축약형
1010^31Kilobyte1KB
2010^61Megabyte1MB
3010^91Gigabyte1GB
4010^121Terabyte1TB
5010^151Petabyte1PB
  • 2의 제곱의 지수가 10씩 커질 때마다 근사치는 10^3만큼 늘어난다.

응답 지연 값

구글의 제프 딘이 2010년에 통상적인 컴퓨터에서 구현된 연산 (캐시 참조, 메모리 참조, 디스크 탐색 등)의 응답 지연값을 공개했다. 이걸 Colin Scott이란 사람이 시각화해서 보여주는 사이트를 만들었다: https://colin-scott.github.io/personal_website/research/interactive_latency.html. 무려 연도별로 아래와 같은 표를 볼 수 있다.

확인할 수 있는 가장 최근 년도는 2020년이다.

  • 메모리Main memory reference는 빠르지만 디스크는 아직도 느리다.
    • 디스크 탐색 Disk seek은 가능한 피하는게 좋다.
  • 단순한 압축 알고리즘Compress 1KB with Zippy은 빠르다.
    • 가능하면 데이터 통신을 하기 전에 압축하는게 좋다.

가용성에 관계된 수치

가용성 availability

= 시스템이 오랜 시간 동안 지속적으로 중단 없이 운영될 수 있는 능력.
= 전체 서비스 시간 중 사용자가 시스템을 정상적으로 사용할 수 있는 시간의 비율

  • 퍼센트로 표현한다.
    • 100%는 시스템이 단 한번도 중단된 적이 없음을 의미하고, 대부분 서비스는 99%~100%정도다.

SLA Service Level Agreement

= 서비스 사업자와 고객 사이에 맺어진 합의.

  • 서비스 사업자가 제공하는 서비스의 가용 시간이 공식적으로 기록되어 있다.
    • 가용 시간은 관습적으로 숫자 9를 사용해 표현한다. 9가 많을수록 가용성이 높다.
profile
코드도 적고 그림도 그리고 글도 씁니다. 넓고 얕은 경험을 쌓고 있습니다.

0개의 댓글