Sample table :
CREATE TABLE user_activity ( user_id int, activity_id uuid, activity_timestamp timestamp, score int, PRIMARY KEY (user_id, activity_timestamp) ) WITH CLUSTERING ORDER BY (activity_timestamp DESC);
whenever a user performs a new activity, his previous activities are first read, a score is calculated and the new activity is then persisted along with the calculated score.
eg: a new user USER1 performs his 1st activity , in this scenario, zero records will be called on SELECT before persisting, when he performs the 2nd activity, his previous record will be read and score of 1 will be given, so the 2nd activity is then persisted with score value as 1.
A TTL is also given for every insert. There will be updates (only 1 time update) happening on a certain low percentage (30%) of the overall records, the time interval between an insert and update would be between 10min-1hr.
In this scenario, which is the preferred compaction strategy to be used?
version: Apache Cassandra 3.11.4