Мне нужно получить список из N пользователей с самыми последними действиями с использованием кассандры.
Я пробовал использовать следующую схему:
CREATE TABLE user_actions(
partition_key int,
username int,
action_time timestamp,
PRIMARY KEY(partition_key, action_time)
WITH CLUSTERING ORDER BY(action_time DESC);
Когда пользователь впервые входит в систему, он создает новую запись. Однако я не могу обновить свойство start_time
, поскольку оно используется в качестве ключа кластеризации. Я мог удалить старые данные и создать новую запись, когда пользователь предпримет другое действие, но действия пользователя происходят часто, и мы быстро достигнем предела захоронения.
Кто-нибудь знает, как лучше всего я могу смоделировать данные, чтобы добиться этого?