ScyllaDB上的主要压缩

时间:2019-02-27 18:01:56

标签: database cassandra scylla tombstone

简单查询:-我用gc_grace_seconds 10天删除了Scylla上的数据。 Scylla创建了墓碑,并等待gc_grace_seconds到期。

现在,我已在删除后的第二天进行了重大压缩(gc_grace_seconds到期还剩下8天)。

1)将执行什么压缩?它将考虑所有墓碑,并清除2天之前删除的墓碑吗?

2)我应该在运行大压缩之前更改gc_grace_seconds = 0吗?

请帮助

谢谢。

1 个答案:

答案 0 :(得分:2)

1)至少在Cassandra中(对scylla一无所知),直到gc_grace_seconds过去,它才会清除墓碑。这就是宽限秒的含义-告诉数据库将逻辑删除至少保留那么长的时间。

2)如果您确实要清除它们,可以这样做。宽限度为0 gc时,这也意味着提示将不会存储在Cassandra中,因此可能希望将其设置为1,除非您确定新写入数据的持久性降低。还需要确保自从写入数据以来修复已完成,否则清除墓碑的数据可能(尽管不太可能)被复活。如果设置了only_purge_repaired_tombstones,即使数据还没有被修复,它也会阻止清除,甚至超过gc宽限期(我建议将其设置为值)