문제

우리는 Cassandra를 사용하여 다양한 소스에서 나오는 정보 스트림을 저장하고 있습니다.

우리가 직면 한 한 가지 문제는 두 날짜 사이를 쿼리하는 가장 좋은 방법입니다.

예를 들어 DateTime DT1과 DateTime DT2 사이의 객체를 검색해야합니다.

우리는 현재 생성 된 UNIX 타임 스탬프를 실제 객체를 가리키는 키로 고려하고 get_key_range를 사용하여 쿼리를 검색하고 있습니까?

분명히 두 항목에 동일한 타임 스탬프가 있으면 작동하지 않습니다.

이것이 NOSQL 상점에서 일반적으로 DateTime을 수행하는 가장 좋은 방법입니까?

도움이 되었습니까?

해결책

Cassandra 행은 매우 클 수 있으므로 CF의 행이 아닌 행으로 열로 모델링하는 것을 고려하십시오. 그런 다음 행 슬라이스보다 빠른 열 슬라이스 작업을 사용할 수 있습니다. 이와 관련된 "천연"키가 없으면 "2010/02/08 13:00"과 같은 매일 또는 시간별 키를 사용할 수 있습니다.

그렇지 않으면, 예, 범위 쿼리를 사용하는 것 (get_key_range는 0.5에서 더 이상 사용되지 않으며 get_range_slice 사용)이 최선의 선택입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top