
모든 컴포넌트가 하나의 서버에서 실행되는 간단한 시스템 설계웹, 앱, DB, 캐시 등이 전부 서버 한 대에서 실행됨키-값 저장소(key-value store)그래프 저장소(graph store)칼럼 저장소(column store)문서 저장소(document store)

서버, 스토리지, 네트워크 장비, 전력/냉각 인프라를 집약해 대규모 IT 서비스를 운영하는 시설대규모 서비스의 안정성·확장성·보안 확보클라우드(IaaS/PaaS/SaaS) 기반 물리적 토대이중화(전력, 네트워크, 스토리지 등)보안성(물리/네트워크/운영)확장성(랙 단위/
단일 DB 인스턴스의 하드웨어 성능을 키우는 방식더 빠른 CPU, 더 많은 RAM, 더 빠른 스토리지(예: NVMe), 고사양 인스턴스로 교체설계·구현 단순, 애플리케이션 코드 수정 최소화강한 일관성(ACID) 유지, 조인·트랜잭션 친화적기존 RDB 기능 그대로 활용
보편적으로 통용되는 성능 수치상에서 사고실험(thought experiments)을 행하여 추정치를 계산하는 행위어떤 설계가 요구사항에 부합할 것인지 보기 위한 것시스템이 오랜 시간 동안 지속적으로 중단 없이 운영될 수 있는 능력을 지칭하는 용어퍼센트로 표현대부분의 서

시스템 설계 면접은 두 명의 동료가 모호한 문제를 풀기 위해 협력하여 그 해결책을 찾아내는 과정에 대한 시뮬레이션면접은설계 기술을 시연하는 자리설계 과정에서 내린 결정들에 대한 방어 능력을 보이는 자리면접관의 피드백을 건설적인 방식으로 처리할 자질이 있음을 보이는 자리
클라이언트 또는 서비스가 보내는 트래픽의 처리율을 제어하기 위한 장치특정 기간 내에 전송되는 클라이언트의 요청 횟수 제한예시사용자는 초당 2회 이상의 새 글을 올릴 수 없음같은 IP 주소로는 하루에 10개 이상의 계정 생성 불가같은 디바이스로는 주당 5회 이상 리워드
수평적 규모 확장성 달성을 위한 요청/데이터의 균등 분배정의: 단일 서버 성능을 올리는 수직적 확장(Scale-up)과 달리, 서버를 여러 대로 나누어 부하를 분산하는 것.필요성:트래픽이 예측 불가하게 증가할 때, 단일 서버로는 대응 불가비용 효율: 중급 사양 서버 N
데이터를 키(Key)와 값(Value) 쌍으로 관리하는 가장 단순한 형태의 DB 모델내부적으로 해시 테이블 유사 구조 사용스키마리스(Schema-less)값에는 문자열·JSON·Blob 등 다양한 데이터 저장 가능PUT(key, value), GET(key), DEL
분산 시스템에서 유일성이 보장되는 ID 생성 기법은 다양함선택지다중 마스터복제(multi-master replication)UUID(Universally Unique Identifier)티켓 서버(ticket server)트위터 스노플레이크(twitter snowfla
"대규모 시스템 설계" 책 스터디 중 티켓서버 관련 내용을 보완하기 위해 서칭하다가 찾게 된 내용입니다플리커의 기술 블로그 내용 중 "대규모 시스템 설계"와 관련있고, 제가 관심있는 부분을 정리하였습니다(참고: 2010년 2월 8일 작성)제 포스팅을 읽는 다른 분들에게
"대규모 시스템 설계" 책 스터디 중 트위터의 Snowflake 관련 내용을 보완하기 위해 서칭하다가 찾게 된 내용입니다트위터 기술 블로그 내용 중 "대규모 시스템 설계"와 관련있고, 제가 관심있는 부분을 정리하였습니다 (참고: 2010년 6월 1일 작성)제 포스팅을

https://www.example.com/q=chatsystem&c=loggedin&v=3&l=long이라고 입력이 주어진 경우서비스에서 https://www.tinyurl.com/y7ke-ocwj와 같은 단축 URL을 결과로 제공해야 함해당 단축
검색어 자동 완성: 웹사이트 검색창에 단어 입력 시 입력 중인 글자에 맞는 검색어가 자동으로 완성되어 표시되는 기능autocomplete, typeahead, search-as-you-type, incremental search가장 많이 이용된 검색어 k개를 자동완성하
단순히 "데이터 줄이기"가 아니라 데이터 분포를 재조정하여 모델이 학습해야 할 목표 분포를 만드는 과정과다 등장 쿼리/토큰의 등장 확률 제어단순히 “빈도가 높은 쿼리를 일정 비율로 줄이기”가 아니라, 아래 두 가지 문제를 해결하기 위한 확률적 다운샘플링Zipf's La