与えられたタイムスタンプよりも古いテーブル要求からすべてのエントリを削除したい。与えられたタイムスタンプよりも古いタイムスタンプを持つCassandraテーブルエントリの削除
テーブル要求の構造:
Delete from Requests where request_timestamp < givenTimestamp;
しかし、私は巨大なテーブルを持っている:主キーREQUEST_IDを指定する必要があるため
CREATE TABLE requests (
request_id uuid,
request_timestamp timestamp,
PRIMARY KEY (request_id, request_timestamp)
) WITH CLUSTERING ORDER BY (request_timestamp ASC)
は明らかに、クエリは動作しません。次何百万ものエントリがある場合、IN句のクエリを使用するのが最適ではありません。
Delete from Requests where request_id in (id1, id2.....) and request_timestamp < givenTimestamp;
オプションは、TTL(Time to Live)を使用することですが、エントリを構成可能にするためにTTLを保持したいと考えています.TTLではこれは不可能です。
テーブルから古いエントリを削除するには他にどのような方法がありますか?
おかげ