caffeine-library / system-design-interview

🌱 가상 면접 사례로 배우는 대규모 시스템 설계 기초를 읽는 스터디
4 stars 0 forks source link

[keyword] 5~6장 키워드 정리 #17

Closed wooyounggggg closed 2 years ago

wooyounggggg commented 2 years ago

주제

5~6장을 읽고 내용을 요약하거나, 중요✨ 하다고 생각하는 키워드 및 관련 설명을 코멘트로 달아주세요

연관 챕터

16

@caffeine-library/readers-system-design-interview

wooyounggggg commented 2 years ago

5장 안정 해시 설계

해시 키 재배치(rehash) 문제

존재하는 데이터와, 그에 대한 논리적 연산의 동기화가 어긋나 발생하는 문제 ex) Modular N 연산을 Hashing에 사용하다가, N값이 변경되는 경우. 서버의 추가/제거 등

안정 해시

해시 테이블의 크기가 조정될 때, 평균적으로 k/n개의 키만 재배치하는 기술 기존의 전통적 해시 테이블이 대부분의 키를 재배치하는 것에 반해, k/n개만 재배치하여 시간 복잡도를 향상하는 특징을 가짐

image

안정 해시 알고리즘의 문제점

가상 노드

안정 해시 알고리즘의 문제를 해결하기 위해 고안된 방법 서버의 개수보다 더 많은 가상 노드를 해시 링 내부에 분포시켜, 데이터 분포의 표준 편차를 낮추는 방법 서버 하나가 여러대의 가상 노드를 할당하여 사용하게 됨

image

JasonYoo1995 commented 2 years ago

6장 : 키-값 저장소 설계

분산 키-값 저장소

CAP 정리

이상적 상태

실세계의 분산 시스템

데이터 파티션

데이터 다중화

데이터 일관성

일관성 모델

비 일관성 해소 기법 : 데이터 버저닝(Data Versioning)

장애 감지

일시적 장애 처리

영구 장애 처리

시스템 아키텍처 다이어그램

hyunrrr commented 2 years ago

6장 키-값 저장소 설계

키-값 저장소 설계시 고려해야 하는 문제

분산 키-값 저장소의 핵심 컴포넌트