Cassandra – 快速删除存储在主键值中的所有行?

我正在创建一个表,其中包含很多(我们说的是数百万甚至数十亿)由主键存储的数据,这些数据将作为int存储一年.

我们这样做是因为我们希望能够执行简单的清除.

表看起来像这样:

TABLE data (
 year int,
 fulldate date,
 ref1 text,
 ref2 text,
 data blob,
 PRIMARY KEY ((year), fulldate, ref1, ref2)
);

将来,我们计划删除一年中的所有数据,并且不会在此特定年份添加任何数据.

我们能否以有效的方式删除主键值存储的所有数据?喜欢做类似滴水的事情?

我在文档中没有看到任何关于这样的事情,但我是Cassandra的新手,所以也许有内部优化或其他什么?

谢谢您的帮助.

最佳答案 是的,您只需一个查询即可删除分区键的所有数据.

只需在删除时指定分区密钥年份.

DELETE from data WHERE year = 2017;

它很有效因为它只为该分区值创建一个逻辑删除.

点赞