더북(TheBook)

처음에는 합리적인 것처럼 보이는 많은 간단한 전략들이 그렇듯 이 전략도 중대한 문제를 일으키기 쉽다. 예를 들어 cust(고객), cmpg(캠페인), comp(구성품) 이름공간에 있는 키의 대부분은 C로 시작한다. 하지만 warh(창고)처럼 알파벳의 후반에 있는 글자로 시작하는 키는 그 수가 매우 적다. 이러한 키의 불균형은 클러스터에 있는 각 서버가 처리하는 작업량의 불균형을 초래한다.

가능한 한 클러스터에 있는 서버 수에 맞춰 고르게 작업을 분산하도록 파티션을 구성해야 한다. 다음에 나올 파티션 키에서는 데이터와 작업을 꽤 고르게 분산하는 데 널리 사용되는 방법을 설명할 것이다(그림 4-5).

Note 한 서버가 한 개 이상의 파티션을 지원할 수 있다는 점에 주목하자. 서버들이 가상 머신을 운영하고 있고 각 가상 머신이 단일 파티션을 지원하는 경우 한 서버가 여러 파티션을 지원할 수 있다. 이와 달리 키-값 데이터베이스는 각 서버에 있는 파티션 소프트웨어의 인스턴스를 여러 개 실행할 수 있다. 이는 서버의 개수보다 많은 파티션 개수를 허용한다.

▲ 그림 4-5 키-값 데이터베이스 소프트웨어의 여러 인스턴스가 클러스터에 있는 서버에서 실행될 때 작업 부하의 균형을 맞추기 위해 클러스터에 서버를 추가하거나 인스턴스를 재할당할 수 있다

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