2014-12-04 3 views
0

datastax enterprise 4.5를 사용하고 있습니다. 성능면에서 단일 컬럼 파티션 키보다 복합 파티션 키를 정의 할 때 단점이 있습니까? 복합 파티션의 한 컬럼이 다중 카디널리티를 갖지만 복합 컴포넌트의 다른 카 운 트가 카디널리티가 낮 으면 어떨까요?cassandra 기본 키 디자인

답변

3

복합 키는 파티션의 카디널리티를 높이는 데 사용됩니다. 예를 들어 x 값이 5이고 y 값이 10 인 PRIMARY KEY ((x,y)) 키는 50 개의 다른 파티션을 만듭니다. 데이터를 더 많이 분산해야하지만 카디널리티가 충분히 높은 단일 변수가 있으면 불필요한 경우 유용합니다.

보다 현실적인 예제는 PRIMARY KEY ((Gender, ZipCode), age, userid)의 복합 키를 만들 수 있습니다. 파티션 키로 Gender 만 사용한 경우 데이터를 저장하는 데 2 ​​개의 파티션 만 남게됩니다! zipcode를 추가하면 총 99999 개의 zipcode 또는 (zip + 4가 더 많아 질 수 있습니다.) 동시에 성별로 데이터를 분리 할 수 ​​있습니다. 이것은 위치 또는 그와 비슷한 것으로 인구 통계 정보를보기에 이상적입니다.

기본적으로 엄지 손가락의 규칙은 클러스터의 핫스팟을 피하기 위해 많은 수의 파티션을 사용하고 복합 키를 사용하면 필드의 카디널리티를 결합하여 파티션 수를 쉽게 늘릴 수 있다는 것입니다.