에 내가 내 카산드라 클러스터에 다음과 같은 시계열이 있습니다아파치 카산드라 제한 및
CREATE TABLE consumptions (
meter_id int,
date date,
meter_date_time timestamp,
data text,
PRIMARY KEY ((meter_id, date), meter_date_time)
) WITH CLUSTERING ORDER BY (meter_date_time DESC)
내가 한 달에서 최신 검침을 필요로 한 달의 소비를 계산합니다. 내 경우 쿼리는 다음과 같습니다
select * from consumtions
where meter_id = 1 and
date in (...'2016-12-30','2016-12-31'...)
limit 1
나는 여러 파티션 키 IN 절은 안티 패턴이라고 알고 있어요. 비정규 화하지 않고이 쿼리에 더 좋은 방법이 있습니까?
다른 대부분의 쿼리에서 나는 asnyc 쿼리를 사용하고 있습니다.하지만이 쿼리는 모든 결과를 반환 할 것이므로 제한을 사용할 수 없습니다.
의견을 보내 주셔서 감사합니다. ** 두 번째 대안은 일별 일별 쿼리를 비동기로 실행하고 응용 프로그램 수준에서 가장 최근의 측정 값을 필터링하는 것입니다. ** – itstata