카산드라에서 가장 효율적인 쿼리는 단일 파티션을 공격 한 다음 열 키를 사용하여 쿼리합니다. 기본 키의 첫 번째 키는 파티션 키이고 모든 후속 키는 열 키입니다. 열 키의 순서가 중요합니다. 왼쪽에서 오른쪽으로 열 키를 지정할 수 있습니다. 파티션 키 또는 첫 번째 열 키 또는 파티션 키 + 첫 번째 열 키 + 두 번째 열 키만 지정할 수 있지만 파티션 키 + 두 번째 열 키는 지정할 수 없습니다 (두 번째 열 키가 아닌 것은 제외). 색인, 그러나 나는 그것을 지금 떠날 것이다). 따라서 카스 산드라의 스키마는 쿼리 요구 사항에 의해 크게 좌우됩니다. 당신은 당신이 항상 유형별로 조회 할 수 있습니다 알고있는 경우 (온도 측정 또는 압력 판독, 또는 다른 측정 값 또는 유형의 조합으로), 다음 스키마 작업 할 수 있습니다
CREATE TABLE readings (weatherstation_id text,
event_type text,
event_time timestamp,
reading_value text,
PRIMARY KEY (weatherstation_id, event_type, event_time)
);
을 당신은 할 수
SELECT * FROM readings where weatherstation_id = '12' and event_type='temperature'....
이렇게하면 읽기 당 한 행이 생성됩니다.
또 다른 옵션은 행당 여러 개의 판독 값을 갖는 것입니다. 이 경우 스키마는 다음과 같이 보일 수 있습니다.
CREATE TABLE readings (weatherstation_id text,
event_time timestamp,
readings map<string, string>,
PRIMARY KEY (weatherstation_id, event_time)
);
그러면 한 행의 타임 스탬프에 대한 모든 판독 값을 얻을 수 있습니다. 즉, 특정 키 유형에 필터를 적용 할 수는 없지만 (예 : 행에 대한 모든 수치를 얻을 수 있음),지도 키에 색인을 추가하여 필터링 할 수는 있습니다. 자세한 내용은 http://www.datastax.com/documentation/cql/3.1/cql/cql_reference/create_index_r.html?scroll=reference_ds_eqm_nmd_xj__CreatIdxCollKey을 확인하십시오. 키에 대한 색인은 Cassandra 2.1의 새로운 기능입니다.
희망이 있습니다.