Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

디지안의 개발일지

[TIL] 가상 면접 사례로 보는 대규모 시스템 설계 기초 - 2장 본문

book

[TIL] 가상 면접 사례로 보는 대규모 시스템 설계 기초 - 2장

안덕기 2022. 3. 8. 20:57

 

이 글은 을 보고 배운 내용을 요약합니다. 자세한 설명은 생략되어 있기 때문에 책을 직접 구입해서 보시길 바랍니다.

 

개략적인 규모 추정

개략적인 규모 추정이란 아래 두가지에 대해서 논리적으로 측정해보는 것을 의미한다.

  • 시스템 용량
  • 성능 요구사항

 

책에서는 여러가지 성능과 관련된 수치들을 설명해주고 어떻게 논리적으로 추정하는지에 대해서 설명해준다.

 

2의 제곱수

컴퓨터 공학에서 자주는 쓰는 단위에 대해서 설명해준다. 데이터 볼륨의 최소 단위는 Byte1 Byte8bit 에 해당한다. ASCII 문자 하나는 1 Byte 를 차지 한다. 그러면 메모리나 데이터베이스 등에서 문자에 따라 얼마나 용량을 차지할지 개략적으로 예상할 수 있을 것이다. 여기서 단위를 잘 이해하고 있어야 하는데 2의 10 * (1~5) 마다 킬로 ~ 페타 로 불리는 것에 대해 잘 이해하고 있는 것이 좋다.

 

모든 프로그래머가 알아야 하는 응답지연 값

구글의 제프 딘이 컴퓨터에서 구현된 연산들의 대략적인 응답 지연 값을 공개한 적이 있다.(블로그)

책에서 이에 대해서 잘 정리해줬고 결론들도 내주었다.

  • 메모리는 빠르지만 디스크는 아직도 느리다.
  • 디스크 탐색(seek)은 가능한 한 피하라.
  • 단순한 압축 알고리즘은 빠르다.
  • 데이터를 인터넷으로 전송하기 전에 가능하면 압축하라.
  • 데이터 센터는 보통 여러 지역(region)에 분산되어 있고, 센터들 간에 데이터를 주고받는 데는 시간이 걸린다.

 

가용성에 관계된 수치들

고가용성 이란 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말한다. 고가용성을 측정하는 단위로는 %(퍼센트)를 사용하고 100%는 중단된 적이 없는 서비스를 의미한다. 대부분의 서비스는 99%에서 100% 사이의 값을 갖는다.

 

99%라는 가용성을 지킨다면 하루, 주, 개월당 서비스가 멈추는 시간이 어느정도인지 책에서 친절하게 설명해준다.

 

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

  • 책을 참고하길 바란다.

 

  • 책을 참고하길 바란다.