DELETE时使用低gc_grace_seconds且一致性级别为ALL

时间:2015-09-11 08:44:39

标签: cassandra garbage-collection

如果我的Cassandra DELETE操作始终使用ALL的一致性级别,那么将gc_grace_seconds属性降低到较低值是否安全?在我看来,ALL一致性级别意味着永远不需要修复删除操作,因此GC宽限期提供的安全性是不必要的。或者是否存在意味着GC宽限期仍然有用的极端情况?

1 个答案:

答案 0 :(得分:2)

永远不要说永远,但似乎你可以做到这一点。当某些节点出现故障或网络拥塞时,您正在牺牲能够进行删除的高可用性,因此在操作上可能会令人头疼,因为节点不可避免地会出现停机。可能该方法仅适用于LAN上连接的非常小的集群。

您可能需要考虑的一个案例是,如果操作员决定恢复表的快照会发生什么。这可能会在拍摄快照后恢复您用ALL删除的一些数据。

您可能希望使用TTL来掩盖自己,这样如果您错过了删除,数据最终会自行超时。

我有时认为如果所有副本都有删除,C *应该有删除墓碑的选项。无条件地将它们保持十天似乎有点过头了。