Получение данных между двумя временными метками И данными непосредственно перед и сразу после

#cassandra #intervals #cql

#cassandra #интервалы #cql

Вопрос:

Допустим, у меня есть таблица, содержащая покупки (с идентификатором клиента в качестве ключа раздела и отметкой времени для ключа кластеризации).

Проблема :

Мне интересно, каким был бы наилучший способ получить все покупки одного клиента между dateA и dateB, а также первую покупку до dateA и первую покупку после dateB.

Что я сделал до сих пор :

На самом деле я делаю 3 запроса к Cassandra:

1) до даты максимум 1

2) между dateA и dateB

3) после даты, равной максимум 1

Возможно ли это улучшить? (в одном запросе?)

Спасибо за вашу помощь

Комментарии:

1. Вероятно, не в одном запросе без снижения производительности. Cassandra работает быстро, а вызовы в базу данных дешевы — выполнение 3 вызовов вместо одного, вероятно, не является проблемой.

2. Вы сказали «получить все покупки». Но все покупки одного ClientID или для всех ClientID. Можете ли вы предоставить один пример. Возможно, вы могли бы посмотреть на вторичные индексы, но это может замедлить вашу производительность.