简单查询:-我用gc_grace_seconds 10天删除了“锡拉”上的数据。“锡拉”创建了墓碑并等待gc_grace_seconds过期。
现在,我已经在删除后的第二天运行了主要压缩( gc_grace_seconds到期还有8天)。
1)什么是压缩?它会考虑所有的墓碑,并清除2天前删除的墓碑?
2)我应该在运行主要压缩之前更改gc_grace_seconds=0吗?
请帮帮忙
提前谢谢。
发布于 2019-02-28 02:38:34
1)至少在卡桑德拉(对“锡拉”一无所知),在gc_grace_seconds通过之前,它不会清除墓碑。这就是宽限期的作用--告诉数据库至少保留tombstones那么长的时间。
2)如果你真的想清除它们,你可以。使用0GC宽限,这也意味着提示不会存储在Cassandra中,因此可能希望设置为1,除非您可以接受新写入数据的持久性降低。还需要确保在您的数据被写入之后已经完成了修复,或者被tombstones清除的数据可能(虽然不太可能)复活。如果设置了only_purge_repaired_tombstones,那么如果数据没有被修复,那么即使超过了gc宽限,也会阻止清除(我建议这样设置)
https://stackoverflow.com/questions/54911798
复制相似问题