【发布时间】:2018-09-06 05:08:17
【问题描述】:
我有一个 TTL 为 60 秒的 Cassandra 表,对此我有几个问题,
1) 我收到以下警告
Read 76 live rows and 1324 tombstone cells for query SELECT * FROM xx.yy WHERE token(y) >= token(fc872571-1253-45a1-ada3-d6f5a96668e8) LIMIT 100 (see tombstone_warn_threshold)
这是什么意思?
2) 根据我的研究,Tombstone 是 TTL 情况下的标志(将在 gc_grace_seconds 后删除) i) 所以直到 10 天这是否意味着它不会被删除? ii) 等待 10 天会有什么后果? iii) 为什么 10 天这么长?
https://docs.datastax.com/en/cql/3.1/cql/cql_reference/tabProp.html
gc_grace_seconds 864000 [10 天] 数据被标记为墓碑(删除标记)之后的秒数,然后才符合垃圾收集的条件。 Cassandra 不会在其 gc_grace_period 内对墓碑记录执行提示或批量突变。默认值允许 Cassandra 有大量时间在删除之前最大化一致性。有关减小此值的详细信息,请参阅下面的垃圾收集。
3) 我读到使用 nodetool 执行压缩和修复会删除墓碑,我们需要多久在后台运行一次,结果会是什么?
【问题讨论】:
-
以及以后的参考;请尝试将自己限制在每个帖子中一个问题。一个有后续还可以,但是五个肯定在推。