我正在创建一个表,其中包含很多(我们说的数百万甚至数十亿)由主键存储的数据,这些数据将作为int存储一年。 我们这样做是因为我们希望能够执行简单的清除。
表格如下:
TABLE data (
year int,
fulldate date,
ref1 text,
ref2 text,
data blob,
PRIMARY KEY ((year), fulldate, ref1, ref2)
);
将来,我们计划删除一年的所有数据,并且不会在此特定年份添加更多数据。
我们能否以有效的方式删除主键值存储的所有数据?喜欢做类似于跌落的事情吗?
我在文档中没有看到关于此类事情的任何内容,但我是Cassandra的新手,所以也许内部优化已完成或其他什么?
感谢您的帮助。
答案 0 :(得分:2)
是的,您只需一个查询即可删除分区键的所有数据。
只需在删除时指定分区密钥年份。
DELETE from data WHERE year = 2017;
它很有效因为它只为该分区值创建一个逻辑删除。