更新cassandra列表集合正在创建墓碑

更新cassandra列表集合正在创建墓碑,cassandra,cql,tombstone,Cassandra,Cql,Tombstone,卡桑德拉版本3.11.3 我有一些集合和列表集合的记录。 使用添加/删除数据的集合似乎没有或非常有限的墓碑创建。 然而,使用列表列似乎是在为每个查询创建一个墓碑 我的印象是这是固定的。 我做错什么了吗 这样做10k次不会生成任何墓碑:(假设之前不存在分区) 因此,此查询工作正常: Select * from "Record" where "RecordId" = 5 and "Field" = 'xyz'; 这样做10k次会产生大量的墓碑:(假设之前不存在分区) 更新后,由于墓碑太多,此查询失

卡桑德拉版本3.11.3

我有一些集合和列表集合的记录。 使用添加/删除数据的集合似乎没有或非常有限的墓碑创建。 然而,使用列表列似乎是在为每个查询创建一个墓碑

我的印象是这是固定的。
我做错什么了吗

这样做10k次不会生成任何墓碑:(假设之前不存在分区)

因此,此查询工作正常:

Select * from "Record" where "RecordId" = 5 and "Field" = 'xyz';
这样做10k次会产生大量的墓碑:(假设之前不存在分区)

更新后,由于墓碑太多,此查询失败:

Select * from "Record" where "RecordId" = 5 and "Field" = 'xyz';

我相信这是工作的预期。阅读这篇文章(虽然有点过时),看看它是否能解释你的情况

update "Record" Set "AllListItems" = "AllListItems" + ['abc'] where "RecordId" = 5 and "Field" = 'xyz';
update "Record" Set "AllListItems" = "AllListItems" - ['abc'] where "RecordId" = 5 and "Field" = 'xyz';
Select * from "Record" where "RecordId" = 5 and "Field" = 'xyz';