简单查询:-我用gc_grace_seconds 10天删除了Scylla上的数据。 Scylla创建了墓碑,并等待gc_grace_seconds到期。
现在,我已在删除后的第二天进行了重大压缩(gc_grace_seconds到期还剩下8天)。
1)将执行什么压缩?它将考虑所有墓碑,并清除2天之前删除的墓碑吗?
2)我应该在运行大压缩之前更改gc_grace_seconds = 0吗?
请帮助
谢谢。
答案 0 :(得分:2)
1)至少在Cassandra中(对scylla一无所知),直到gc_grace_seconds过去,它才会清除墓碑。这就是宽限秒的含义-告诉数据库将逻辑删除至少保留那么长的时间。
2)如果您确实要清除它们,可以这样做。宽限度为0 gc时,这也意味着提示将不会存储在Cassandra中,因此可能希望将其设置为1
,除非您确定新写入数据的持久性降低。还需要确保自从写入数据以来修复已完成,否则清除墓碑的数据可能(尽管不太可能)被复活。如果设置了only_purge_repaired_tombstones
,即使数据还没有被修复,它也会阻止清除,甚至超过gc宽限期(我建议将其设置为值)