tssl在cassandra创建墓碑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tssl在cassandra创建墓碑相关的知识,希望对你有一定的参考价值。

我只对cassandra进行插入。插入时,只插入非空值以避免使用墓碑。但是很少有记录插入TTL。但是从表中选择count(*)会产生以下错误 -

读取76个实时行和1324个逻辑删除单元格以进行查询SELECT * FROM xx.yy WHERE token(y)> = token(fc872571-1253-45a1-ada3-d6f5a96668e8)LIMIT 100(参见tombstone_warn_threshold)

TTL插入导致cassandra 3.7中的墓碑吗?如何减轻警告?

没有更新只进行插入,一些记录没有TTL,其他记录没有TTL

答案

从datastax文档:https://docs.datastax.com/en/cql/3.1/cql/cql_using/use_expire_c.html

在列创建超过TTL值后的秒数之后,TTL数据被视为已过期并包含在结果中。在读取路径上的下一次读取之后,过期数据用逻辑删除标记,但最多保留gc_grace_seconds。经过这段时间后,在正常的压缩和修复过程中会自动删除逻辑删除的数据。

这些条目将被视为墓碑,直到压实或修复。

另一答案

为TTL和压缩添加一个点。尽管如此,在gc_grace_seconds之后,压缩的默认设置只会启动,具体取决于tombstone_compaction_intervaltombstone_threshold

以前,由于具有大量记录的表的大量墓碑,我们已经读取超时问题。最终,我们需要减少tombstone_threshold以及启用unchecked_tombstone_compaction以更频繁地触发压缩过程。

您可以参考以下文档以获取更多详细信息

http://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlCreateTable.html?hl=unchecked_tombstone_compaction#tabProp__cqlTableGc_grace_seconds

以上是关于tssl在cassandra创建墓碑的主要内容,如果未能解决你的问题,请参考以下文章

从没有墓碑和 ttl 的 Cassandra 中删除整个分区?

在 cassandra 的地图中添加新值/更新现有值是不是会创建墓碑?

Cassandra 数据上的 TTL Remover

LCS 上的主要压缩

如何使用Apache Flink阅读Cassandra?

墓碑机制与生命周期