더북(TheBook)

ring은 파티션을 구성하는 논리 구조다. 링은 원형 패턴으로, 서버에서 실행 중인 키-값 데이터베이스 소프트웨어의 서버나 인스턴스가 인접한 두 대의 서버나 인스턴스와 연결되어 있는 것을 말한다. 각 서버나 인스턴스는 파티션 키를 기준으로 일정 범위의 데이터를 관리하는 책임을 지고 있다.

예를 들어 cust:8983:firstName이라는 문자열을 0과 95 사이의 숫자로 구성된 파티션 키와 연결하는 간단한 해시 함수가 있다고 해보자. 노드 여덟 개로 구성된 클러스터에서 각 서버를 서버1, 서버2, …, 서버8이라고 하면 표 4-1에 나온 것처럼 서버 여덟 대와 해시 값 96개로 파티션과 서버를 매핑할 수 있다.


▼ 표 4-1 서버와 파티션 매핑

서버 이름

파티션 범위

서버 1

0–11

서버 2

12–23

서버 3

24–35

서버 4

36–47

서버 5

48–59

서버 6

60–71

서버 7

72–83

서버 8

84–95


이 모델에서 서버2는 서버1, 서버3과 연결되며 서버3은 서버2, 서버4와 연결된다. 서버1은 서버8, 서버2와 연결된다. 이러한 링 아키텍처를 도식화한 게 그림 4-7이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.