答案 0 :(得分:3)
答案是:编写一种工具,首先使用select
进行allow filtering
以确定主键,然后使用确定的主键进行删除。
实际答案是:您不会,因为我刚才提出的建议太慢了,使您的集群承受了很大压力,并且通常会误解Cassandra数据建模的工作原理
Cassandra数据建模与SQL数据建模从根本上不同。在SQL中,您拥有主键,进行了规范化,然后非常有信心,您将能够以良好的性能查询和编写大多数内容。在Cassandra中,您可以为查询建模,所谓查询,是指包含where
的任何内容。
假设您出于某种原因设计了这样的表,您可以做的是添加一个实例化视图,该视图将msisdn
添加到主键,将其变成分区键,然后将id
进入聚类列。这样,您至少可以有效地进行查询,而无需执行allow filtering
。您仍然需要进行两次往返,一次用于读取,一次用于删除,但是该费用是可以接受的。如果不是这样,则需要从根本上重新设计表,请记住,您将需要按msisdn
进行查询。