根据DSE 5.0,需要配置三个参数来调整压缩

Description of your first forum.
Post Reply
Bappy11
Posts: 483
Joined: Sun Dec 22, 2024 9:29 am

根据DSE 5.0,需要配置三个参数来调整压缩

Post by Bappy11 »

回收 SSTable 中过时数据占用的空间。
压缩策略
Cassandra 支持以下压缩策略,您可以使用 CQL 进行配置:

SizeTieredCompactionStrategy (STCS):这是默认的压缩策略。当磁盘上存在一定数量的类似大小的 SSTable(由表子属性 min_threshold 指定)时,它会触发次要压缩。次要压缩不会涉及键空间中的所有表。此策略非常适合写入繁重的工作负载。
LeveledCompactionStrategy (LCS):分级压缩策略会创建固定大小(默认为 160 MB)的 SSTable,这些 SSTable 会分为多个级别。每个级别包含不重叠的 SSTable。建议将此策略用于读取量很大的工作负载。由于 I/O 活动较多,因此建议使用 SSD。
DateTieredCompactionStrategy (DTCS):此策略对于时间序列数据特别有用。
TimeWindowCompactionStrategy (TWCS):此策略是时间序列数据的替代方案。TWCS 使用时间窗口或存储桶压缩 SSTable。
调整压缩

snapper_before_compaction:启用或禁用每次压缩前拍摄快照。快照对于在数据格式更改期间备份数据很有用。但是,Cassandra 不会自动删除较旧的快照,默认值为“False”。
parallel_compactors:允许在节点上同时运行的并发压缩进程数。如果您使用的 巴西电报数据 是 SSD,则可以将此值增加到核心数。默认值是磁盘数或核心数中较小的一个,每个 CPU 核心最少 2 个,最多 8 个。注意:增加并发压缩器会利用更多磁盘空间进行压缩,因为它们是并行进行的,特别是对于 STCS(SizeTieredCompactionStrategy)。在增加此配置之前,请确保有足够的磁盘空间可用。
compaction_throughput_mb_per_sec:将实例中的压缩限制为指定的 Mb/秒。在 Cassandra 中更快的数据插入需要更快的系统压缩以保持较低的 SSTable 计数。建议值为写入吞吐率(以 Mb/秒为单位)的 16 到 32 倍。将值设置为 0 可禁用压缩限制,默认设置为 16。
何时使用哪个?
分级压缩本质上处理更多的磁盘 IO,以保证一行可以分布多少个 SSTable。以下是分级压缩可能是一个好选择的情况。

需要低延迟读取
高读写比
行会频繁更新。如果使用大小分层压缩,一行会分布在多个 SSTable 中。
以下是按大小分层压缩可能是一个好选择的情况。

写工作量很大。
行只写入一次。如果行只写入一次,之后再也没有更新过,那么它们自然会包含在单个 SSTable 中。使用 I/O 密集程度更高的分级压缩毫无意义。
Post Reply