파티셔닝에서 키를 어떻게 사용할까?
파티셔닝이란 키-값 쌍을 그룹으로 묶어 클러스터에 있는 서로 다른 노드에 할당하는 프로세스를 말한다. 해싱은 모든 노드에 키와 값을 고르게 분산하도록 파티셔닝 하는 데 흔히 쓰이는 방법이다. 또 다른 방법이 있는데, 바로 범위 파티셔닝이다.
범위 파티셔닝은 연속적인 값을 묶어 클러스터에 있는 같은 노드에 전송하는 작업을 말한다(그림 5-1). 이 경우 정렬 순서는 키에 정의되어 있다고 가정한다. 예를 들어 고객 번호, 일자, 부분 식별자로 파티셔닝할 수 있다. 표 5-1에 나온 것처럼 범위 파티셔닝은 키와 파티션(노드)을 매핑하는 표가 필요하다.
▼ 표 5-1 범위 파티션 표
값의 범위 |
할당된 노드 |
cust:00001-cust:00999 |
서버 1 |
cust:01000-cust:01999 |
서버 2 |
cust:02000-cust:02999 |
서버 3 |
cust:04000-cust:04999 |
서버 4 |

▲ 그림 5-1 파티셔닝 방법에 따라 노드에 할당되는 키 값이 달라진다
범위 파티셔닝을 사용하기로 결정했다면 데이터양이 얼마나 증가할 것인지 고려해 봐야 한다. 기존 파티셔닝 방법을 변경해야 한다면 일부 키는 다른 노드로 재할당되고 데이터도 다른 노드로 이동될 것이다.