가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 개략적인 규모 추정

kshired·2022년 9월 11일
1
post-thumbnail

2의 제곱수

2의 x 제곱근사치이름
101천1KB
201백만1MB
3010억1GB
401조1TB
501000조1PB

제대로 된 계산 결과를 얻기 위해 데이터 볼륨의 단위를 2의 제곱수로 표현하면, 어떻게 되는지를 알기 위한 값들.

응답 지연 값

각 연산에 따른 지연 시간을 정리해놓은 값들.

이 값을 통해서 대략적인 비교가 가능하다.

  • 메모리는 빠르지만, 디스크는 느리다
  • 디스크 탐색은 최대한 피하라
  • 단순한 압축은 빠르다
  • 데이터를 인터넷에 보내기 전에, 최대한 압축
  • 데이터 센터는 여러 지역에 분산되어 있기 때문에, 센터들간의 데이터 전송비용은 비싸다.

가용성 수치

가용성 수치는, 고가용성에서 지속적으로 중단 없이 운영될 수 있는 능력을 수치로 나타낸 것.

각 %에 따라, 장애시간등을 알 수 있고 9가 많을수록 좋다고 보면 된다.

예제 : 트위터 QPS와 저장소 요구량 추정

가정

  • MAU → 3억명
  • 50%의 사용자는 매일 트위터를 사용
  • 평균적으로 사용자들은 매일 2건의 트윗을 올림
  • 미더어를 포함하는 트윗은 10%
  • 데이터는 5년간 보관

추정

QPS

  • DAU = 3억 * 50% ⇒ 1.5억
  • QPS = 1.5억 * 2 트윗 / 24시간 / 3,600초 = 약 3,500
  • 최대 QPS = QPS * 2 = 7,000

미디어 저장을 위한 요구량

  • 평균 트윗 크기
    • tweet_id = 64byte
    • text = 140byte
    • media = 1mb
  • 미디어 저장소 요구량
    • 1.5억 2 10% * 1mb = 30TB / 일
  • 5년간 요구량
    • 30TB 365 5 = 대략 55PB

  • 근사치를 활용한 계산
    • 면접시에, 복잡한 계산은 어렵기 때문에 대략적인 계산을 통해 간소화하자.
  • 가정을 적어두어, 나중에 살펴보자
  • 단위를 붙이자.
    • 스스로 헷갈리지 않게, 습관을 들여야 함.
  • 많이 출제되는 개략적 규모 추정 문제는 아래와 같다.
    • QPS
    • 최대 QPS
    • 저장소 요구량
    • 캐시 요구량
    • 서버 수 추정
profile
글 쓰는 개발자

0개의 댓글