2017-04-11 87 views
3

我正在创建一个表,它将包含很多(我们正在说亿元,如果不是十亿)由主键存储的数据,这将是一年存储为int的数据。 我们这样做是因为我们希望能够执行简单清除。Cassandra - 快速删除存储在主键值中的所有行?

表是这样的:

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

在未来,我们计划放弃一年的所有数据,并没有任何更多的数据添加到这个特殊的年份。

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

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

感谢您的帮助。

回答

2

是的,您可以只用一个查询来删除分区键的所有数据。

只需指定删除时的分区键年。

DELETE from data WHERE year = 2017; 

它很有效,因为它只为该分区值创建单个逻辑删除。

+0

非常感谢,我知道查询,但我不确定它的优化:D – MrBouh