320x100

도서/게임 서버 프로그래밍 교과서 8

데이터 베이스의 수평 확장

해싱을 통해 샤딩을 하는 경우 최초 설정된 샤드 갯수가 변동됐을 때 리해싱(샤딩의 규칙을 재정의)을 해야한다. 그 방법은 크게 3가지로 구분할 수 있다. 1. 이동하는 레코드 개수가 최소가 되는 알고리즘 사용한다. => 일관된 해시 2. 이동할 일이 없게 만든다. => 매핑 DB 3. 이동하더라도 이동하는 레코드 크기를 최소로 만든다. => 일관된 해싱(Consistent hashing)? 원래는 샤드의 변동이 있다면 모든 레코드들에 대해 재배치 연산을 진행해야 하지만 데이터량이 너무 많은 경우 오랜 시간이 걸린다. 일관된 해싱을 사용하면 변동된 샤드에 대해선 재배치 연산을 하면 된다. 샤드가 추가될 때마다 기존 샤드 집합에서 본인이 담당해야 할 데이터를 가져오고 샤드가 줄어들 때마다 그 머신의 데이터는..

320x100