더북(TheBook)

파티션 키

파티션 키partition key는 어떤 파티션이 데이터값을 가져야 하는지를 결정하는 데 사용되는 키를 말한다. 키-값 데이터베이스에서 모든 키는 키와 연관된 값이 어디에 저장되어야 하는지를 결정하는 데 사용된다. 나중에 문서 데이터베이스 같은 다른 유형의 NoSQL 데이터베이스는 문서에 있는 여러 속성 중 하나를 파티션 키로 사용하는 것을 보게 될 것이다.

이전 예에서 키 이름의 첫 글자는 어떤 파티션이 관리하는가를 결정하는 데 사용되었다. 또 다른 전략은 숫자와 문자 값으로 파티셔닝을 하는 것이다. 키-값 데이터베이스에 있는 어떤 키든지 파티션 키로 사용할 수 있다. 파티션 키를 제대로 만들면 작업을 고르게 분산시킬 수 있다.

반면에 작업 부하를 고르게 분산시키지 못하는 키를 사용할 수도 있다. 이런 경우에는 해시 함수를 사용하는 것이 좋다. 해시 함수는 입력 문자열을 고정된 크기의 다른 문자열로 매핑하는데, 보통은 입력 문자열에 따라 고유한 값의 문자열을 반환한다.

해시 함수에 대해서는 뒤에 있는 키-값 아키텍처 용어 절에서 더 설명하기로 하고, 지금 당장은 해시 함수가 불균형한 여러 키를 입력받아 좀 더 고르게 분산된 키를 만들어내는 한 가지 방법이라는 정도만 알아도 충분하다.

키, 값, 이름공간, 파티션, 파티션 키는 모두 키-값 데이터베이스에서 데이터를 구성하는 데 도움이 되는 구성 요소다. 여러분이 사용하고 있는 키-값 데이터베이스 소프트웨어는 특정 아키텍처, 혹은 하드웨어와 소프트웨어 구성 요소의 배치 구조를 활용하고 있다. 이제 키-값 데이터베이스 아키텍처와 관련된 중요한 용어들을 살펴보자.

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