在进行hazelcast deleteAll时,避免在每个键上提交删除

时间:2015-05-28 07:08:25

标签: persistence hazelcast

在hazelcast地图上实施持久性时,必须实现MapStore接口。在地图上调用clear()时,hazelcast会为deleteAll(Collection<K> clctn)调用一组不同的密钥,这些密钥必须使用每个密钥的删除调用以迭代方式从商店中删除。

这会对包含大量映射条目的商店造成性能问题。不幸的是,无论榛子已知的密钥如何,都无法告诉商店“截断”地图。

有人知道解决方法吗?是否计划支持对hazelcast MapStore进行截断调用?

最好的问候,亚历山大。

1 个答案:

答案 0 :(得分:0)

目前没有计划实施。我想有什么可以帮助你知道清楚被称为?这里的问题是,clear不像集群范围的原子操作,你只是在db上使用truncate,可能会发生其他节点立即再次开始写入数据 - 如果这是有意义的。

因此,如果每个节点都调用truncate,你可能会丢失一些永不丢失的数据,这取决于用例是否是坏事。

克里斯