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

MrB*_*ouh 5 cassandra

我正在创建一个表,其中将包含由主键存储的大量(我们说的是百万甚至十亿)数据,这些数据将以 int 形式存储。我们这样做是因为我们希望能够执行简单的清除。

表看起来像这样:

TABLE data (
 year int,
 fulldate date,
 ref1 text,
 ref2 text,
 data blob,
 PRIMARY KEY ((year), fulldate, ref1, ref2)
);
Run Code Online (Sandbox Code Playgroud)

未来,我们计划删除一年的所有数据,并且不会向该特定年份添加更多数据。

我们能否高效地删除一个主键值存储的所有数据呢?喜欢做类似掉落的事情吗?

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

谢谢您的帮助。

Ash*_*lam 3

是的,您只需一次查询即可删除某个分区键的所有数据。

删除时只需指定分区键年份即可。

DELETE from data WHERE year = 2017;
Run Code Online (Sandbox Code Playgroud)

而且它很高效,因为它只为该分区值创建一个逻辑删除。