[timestamp, long]과 같은 복합 키를 사용하여 열 패밀리를 만들고 쿼리해야합니다. 또한, 질의하는 동안 timestamp (xxx와 yyy 사이의 타임 스탬프와 같은)에 대한 범위 쿼리를 실행하고 싶습니다. 이것이 가능합니까?cassandra 열 패밀리/hector의 키로 타임 스탬프/날짜
현재 나는 정말 재미있는 일을하고 있습니다. 내가 주어진 범위에 대한 타임 스탬프 문자열과 키를 생성하고 긴 함께 연결할 수 있습니다.
like ,
1254345345435-1234
3423432423432-1234
1231231231231-9999
및 키 집합을 hector api로 전달하십시오. (1 개월 동안 날짜 범위가 있고 모든 분 데이터를 원할 경우 30 * 24 * 60 * [2 차 키의 수 - 긴])
복합 키와의 연결 문제를 해결할 수 있습니다. 그러나 질의 부분은 내가 이해하려고 노력하는 부분입니다.
우리가 알고있는 한 RandomPartitioner를 사용할 때 우리는 키가 MD5 체크섬이므로 범위를 기반으로 실제로 쿼리 할 수 없습니다. 이런 종류의 사용 사례에 이상적인 디자인은 무엇입니까? 다음과 같이
내 스키마 및 요구 사항은 다음과 같습니다 키 다음 (다중 키의를 통과 할 수 타임 스탬프 및 열 이름과 같은 긴 값이 (실제 CSH)는 넓은 행을 사용하지 않는 이유는
CREATE TABLE report(
ts timestamp,
user_id long,
svc1 long,
svc2 long,
svc3 long,
PRIMARY KEY(ts, user_id));
select from report where ts between (123445345435 and 32423423424) and user_id is in (123,567,987)
임의적 분할 자와 함께 행키 범위 쿼리를 올바르게 이해했습니다. – tysonjh
@ tysonjh 그런 경우의 대안은 무엇입니까? 나는 꽤 일반적인 경우라고 생각합니다 ... 간단한 타임 라인 차트. –
스키마를 쿼리 할 방법을 모델링 한 후에 스키마를 모델링해야하므로 원하는 정밀도로 쿼리 할 수있는 적절한 세분성을 사용하여 쿼리 범위를 지정하려는 값에 역 (역변환 된 역 색인) 인덱스를 만듭니다. – tysonjh