System Design Interview

    [대규모 시스템 설계 기초] 2장 - 개략적인 규모 추정, 3장 - 효과적 면접을 위한 4단계 접근법

    [대규모 시스템 설계 기초] 2장 - 개략적인 규모 추정, 3장 - 효과적 면접을 위한 4단계 접근법

    2장 개략적인 규모 추정 2의 제곱수 최소 단위:1바이트=8비트=ASCII 문자 하나 2의 x 제곱 근사치 이름 10 1,000 1KB 20 1,000,000 1MB 30 1,000,000,000 1GB 40 1,000,000,000,000 1TB 50 1,000,000,000,000,000 1PB 모든 프로그래머가 알아야 하는 응답지연 값 메모리는 빠르지만 디스크는 느리다 디스크 탐색은 가능한 한 피하라 단순한 압축 알고리즘은 빠르다 데이터를 인터넷으로 전송하기 전에 가능하면 압축하라 데이터 센터는 보통 여러 지역에 분산 → 센터들 간에 데이터를 주고받는 데는 시간이 걸린다 가용성에 관계된 수치들 고가용성: 퍼센트 (100% = 한 번도 중단된 적이 없다) SLA(Service Level Agreeme..

    [대규모 시스템 설계 기초] 1장 사용자 수에 따른 규모 확장성

    단일 서버 사용자의 요청이 처리되는 과정 도메인 이름을 이용하여 웹사이트에 접속 DNS(Domain Name Servie)에서 IP 주소로 변환 IP 주소로 HTTP 요청이 전달 웹 서버가 HTML/JSON 형태의 응답을 반환 데이터베이스 RDB NoSQL key-value store graph store collumn stroe document store NoSQL이 적합한 경우 아주 낮은 응답 latency가 요구됨 다루는 데이터가 비정형 데이터를 직렬화/역직렬화만 하면 된다 아주 많은 양의 데이터를 저장 수직적 규모 확장(scale up) vs 수평적 규모 확장(scale out) scale up 트래픽 양이 적을 경우 수직적 확장, 단순함 단점 한계가 있다 (무한대로 증설 불가) 장애에 대한 자동..

출처: https://gmnam.tistory.com/157 [Voyager:티스토리]