2012-06-22 259 views
1
某些键的行

假设我有一个ColumnFamily中在卡桑德拉,看起来像:删除卡桑德拉

KEY | VALUE 
_____________ 
foo_a | data 
foo_b | data 
bar_a | data 
bar_b | data 

什么会删除所有行的最好方式,其中与“富”的关键开始?如果有用,我可以更改数据的结构。

回答

3

要做到这一点的唯一方法是扫描集群中的每一行,并以编程方式检查它是否以'foo'开头,如果是,则删除它。

如果您需要这样的功能,您可能会保留以'foo'开头的行的索引。每当你写一行以'foo'开头的行时,你也会将该行的完整关键字写入索引行。然后,您可以轻松进行查找,以查找所有以'foo'开头的密钥,以便删除它们。通过这种策略,您需要确保您的索引行不会变得太大。 cassandra在单行中有20亿列的技术限制,但是你会希望保持小于20亿。