2012-03-26 5 views
7

저는 Cassandra의 다른 데이터 모델을 테스트 해 보았습니다. key1에 의해 만들어진 복합 키를 사용하려고합니다 : key2는 행 키입니다. 예를 들어 Cassandra에서이 구성을 사용하면 모든 행에 특정 key1 값과 key2 값을 갖도록 쿼리 할 수 ​​있지만 그렇지 않으면 불가능합니다 (특정 key2 값과 모든 key1을 갖는 모든 행을 가져옵니다). 맞습니까? 당신이 주문 (OPP) 파티션을 보존 사용하는 경우 사전에Cassandra의 복합 키에 대한 오해

덕분에

체사레는

답변

3

, 다음 네, 키 정렬되어 저장되고, 당신은 예를 들어, 키의 범위에서 조각을 얻을 수 있습니다 A : A ~ A : Z - 반드시 필요는 없습니다 : A ~ any : Z.

그러나 OPP는 노드를 통해 키를 고르게 분배 할 수 있다고 보장하지 않으며 너무 많거나 너무 적은 키의 "핫 스폿"으로 끝날 수 있습니다. 모든 노드에서 해시로 저장하여 키를 분배하는 RP (Random Partitioning)를 사용하려고합니다.

그러나 Columns가 정렬되어 저장되므로 Composite 값을 사용하면 데이터 범위에 액세스 할 때 매우 강력 할 수 있습니다.

헥터를 사용하여 복합 열을 쿼리하는 방법에 대한 자세한 내용은 question을 참조하십시오.

필요한 경우 열 이름을 키로 사용하여 추가 조회를위한 Multiget 쿼리를 수행 할 수 있습니다.