如何将cassandra LeveledCompactionStrategy扇出选项更改为100甚至更大?

时间:2018-09-18 01:45:36

标签: cassandra

我有一张表,每台机器的c *中都保存有2T数据。 如果使用LCS,则数据将分为5级:

  • L1:160M * 10 = 1.6G
  • L2:1.6G * 10 = 16G
  • L3:16G * 10 = 160G
  • L4:160G * 10 = 1.6T
  • L5:1.6T * 10 = 16T

当我查看源代码时,发现了一个选项:fanout_size

默认值为10。 将此值更改为100怎么办? 然后级别将降低到3:

  • L1:160M * 100 = 16G
  • L2:16G * 100 = 1.6T
  • L3:1.6T * 100 = 160T

或者甚至可以将其设置为10000? 这可以帮助解决写放大问题吗?

当前我正在使用STCS。我想解决2个问题,我不知道使用此选项的Wheater LCS可以帮助我解决它们:

  • 压缩太慢,尤其是对于大文件(每个文件100G)
  • 读取并发是池(10个并发,则磁盘io已满)(此处没有ssd)

1 个答案:

答案 0 :(得分:0)

通常,人们使用的解决方案是增加sstable_size_in_mb。尽管您希望减少它的价值,但不要增加(即将其设置为6),这可能有助于写出一点

您要解决的问题是什么?如果有问题,您是否考虑过其他压缩策略?