카산드라를 처음 접해 보았습니다. 그래서 카스 Andra에 대한 12 개의 기사를 읽었으므로 기본을 알고 있습니다. 모든 자습서는 1 또는 2 열 및 시간 범위에 따라 효율적인 데이터 검색을 보여줍니다. 내가 찾을 수없는 것은 더 많은 조건이있는 경우 데이터를 올바르게 모델링하는 방법이었습니다.여러 조건의 카산드라 데이터 모델
- 이벤트 유형
- 시간
- 이메일
- User_age
- user_country
- USER_LANGUAGE 을 :
- 등등.
내가 말할 큰 이벤트가 꽤 많은 열이 데이터베이스를 정상화해야
모든 열을 쿼리 할 수 있어야합니다.
SELECT email FROM table WHERE time > X AND user_age BETWEEN X AND X AND user_language = 'nl'
등
가 나는 각 열에 대해 별도의 테이블을 만들 수 있습니다 알고,하지만 난 아직 결과를 결합해야합니다 : 그래서 RDBMS에서 나는 쿼리 것입니다. 아마 이것은 나쁜 접근이 아니지만 하위 쿼리가 없기 때문에 의심 스럽습니다.
제 질문은 분명히 카산드라에서 어떻게 이런 종류의 데이터를 올바르게 모델링 할 수 있습니까?
고맙습니다.
잠재적 해결책은 다음과 같습니다. 이벤트 유형별로 별도의 테이블을 만듭니다. 파티션 키로 사용할 수있는 "merchant_id"열이 있습니다. 우리는 항상 하나의 파티션에 있으므로 timerange 및 merchant_id를 찾습니다. 나머지를 보조 색인으로 추가 할 수 있습니까? eventtype 테이블 + merchant_id + 시간 선택에서 여전히 수백만 개의 행이있을 수 있습니다. –