LCS 上的主要压缩

Posted

技术标签:

【中文标题】LCS 上的主要压缩【英文标题】:major compaction on LCS 【发布时间】:2019-10-18 16:42:04 【问题描述】:

我在 Cassandra 集群中有 LCS 表。我也观察到集群中可能有墓碑,所以我决定减少 GC 宽限秒并执行主要压缩。运行 nodetoolcompact 键空间表,但压缩作业在一秒钟内运行。似乎主要压实不起作用。你能帮我理解吗?

【问题讨论】:

您在问题中使用了“cassandra-2.0”标签,您实际上使用的是 Cassandra 2.0 吗?还是更新版本? 是的,我的 Cassandra 版本是 2.0.x。那么,如果我想清除巨大的墓碑,在这种情况下最好的方法是什么? 我认为,不幸的是,最好的方法是升级(升级到 Casandra 2.2 或更高版本,或者升级到 Scylla)。另一种有点丑陋但可能的方法是尝试切换到大小分层压缩策略,进行主要压缩,然后切换回来(我自己从未尝试过这个过程,希望它会起作用......)。最后,请注意没有“巨大的墓碑”。墓碑很小——只有一条删除记录,没有数据。但也许你确实有很多。 @Nadav 好的,非常感谢您的澄清。 【参考方案1】:

如果您实际上使用的是古董 Cassandra 2.0,正如您问题上的标签所说,那么它确实不支持 LCS 上的主要压缩,并且“nodetool compact”只触发了一个无论如何都会发生的次要压缩(除非明确禁用)。这已在 Cassandra 2.2 中修复 - 请参阅问题 https://issues.apache.org/jira/browse/CASSANDRA-7272。

仍有计划进一步改进 LCS 上的主要压缩 - 请参阅 https://issues.apache.org/jira/browse/CASSANDRA-11817 - 但它应该已经运行得相当好,并且不应该像你报告的那样“在一秒钟内”完成 - 除非你真的在运行 Cassandra 2.0。

【讨论】:

以上是关于LCS 上的主要压缩的主要内容,如果未能解决你的问题,请参考以下文章

Linux压缩那些事

Linux压缩那些事

「Hive进阶篇」详解存储格式及压缩方式

Android图片压缩上传(整体压缩VS单张压缩)

Android图片压缩上传(整体压缩VS单张压缩)

Android图片压缩上传(整体压缩VS单张压缩)