Я создаю приложение и использую Cassandra в качестве своего хранилища данных. В приложении мне нужно отслеживать количество событий для каждого пользователя, для каждого источника событий и запрашивать подсчеты для разных окон времени. Например, некоторые возможные запросы могут быть следующими:Cassandra - несколько счетчиков на основе таймфрейма
- Получить все мероприятия для пользователя A за последнюю неделю.
- Получить все события для всех пользователей за вчерашний день, когда источником события является источник S.
- Получить все события за последний месяц.
Низкая латентность читает мою самую большую проблему здесь. Из моих исследований лучший способ, я могу думать, что это реализовать, - это разные таблицы счетчиков для каждой перестановки источника, пользователя и предопределенного времени. Например, создайте таблицу count_by_source_and_user, где ключ раздела представляет собой комбинацию источника и идентификатора пользователя, а затем создайте таблицу count_by_user только для подсчетов пользователей.
Это кажется грязным. Каков наилучший способ сделать это, или вы могли бы указать на некоторые хорошие примеры моделирования этих проблем в Кассандре?