2024/07/09 2

6장. 키-값 저장소 설계

키-값 저장소(key-value store)는 비관계형 데이터베이스이다. 일반 텍스트 키: "last_loggred_in_at"해시 키: 253DDEC4 키-값 저장소에서 값은 무엇이 오든 상관하지 않는다. 1. 단일 서버 키-값 저장소가장 직관적인 방법 키-값 쌍 전부를 메모리에 해시 테이블로 저장하는 것모든 데이터를 메모리 안에 두는 것이 불가능할 수도 있다는 약점도 있음.해결 방법데이터 압축자주 사용하는 데이터만 메모리에 두고 나머지는 디스크에 저장이렇게 해도, 한대 서버로 부족한 때가 온다. 분산 시스템으로 가자. 2. 분산 키-값 저장소분산 키-값 저장소는 분산 해시 테이블이라고 한다.키-값 쌍을 여러 서버에 분산시키는 탓인데, CAP를 이해해야한다. CAP 정리일관성(consistency): ..

5장. 안정 해시 설계

수평적 규모 확장성을 달성하기 위해서는 요청 또는 데이터를 서버에 균등하게 나누는 것이 중요하다. 해시 키 재배치 문제N개의 개키 서버가 있으면 부하를 균등하게 나누는 보편적 방법은 아래 함수이다. serverIndex = has(key) % N (N은 서버의 개수이다) 장점: 해당 방법은 서버 풀의 크기가 고정되어 있을 때, 그리고 데이터 분포가 균등할 때 잘 동작한다.단점: 서버 하나가 오류가 발생하면, 다른 클라이언트가 데이터가 없는 엉뚱한 서버에 접속하게 된다.  안정 해시안정해시는 해시 테이블 크기가 조정될 때 평균적으로 오직 k/n 개의 키만 재배치하는 해시 기술이다.전통적인 해시 테이블은 슬롯의 수가 바뀌면 거의 대부분 키를 재배치한다.k는 키의 개수n은 슬롯의 개수 > 해시 공간과 해시 링..