平整的压实未压实到更高的水平

时间:2019-02-23 13:28:16

标签: cassandra

通过更改表格从3.1CS切换到LCS-版本3.11.3

ALTER TABLE table WITH compaction = {'class': 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy', 'unchecked_tombstone_compaction': 'true'};

现在我看到有默认大小为160mb的sstable,现在我看到的是超过100 160mb的sstable。

  1. 发生初始转换时,创建的文件是L0吗?

  2. 如果是,则何时将它们压缩到L1,已经花费了几个小时,并且启用了自动压缩。我仍然看不到它们被压缩到更高的水平。

  3. 默认大小为160mb,是L0还是L1?

  4. 被刷新为sstable的sstable的大小是多少?他们会小于160 mb吗?

  5. 在每个级别中创建了多少文件之后,它会压缩到下一个级别吗?

1 个答案:

答案 0 :(得分:0)

对于LCS,默认情况下(sstable_size_in_mb = 160 mb)完全可以预期。

L1及以上为正常水平。 L0只是占位符,可以具有重叠的数据和任何大小的sstable。 在正常级别中,两个稳定表不重叠,这意味着两个稳定表不能具有相同的分区。因此,对于读取分区,我们只需要检查一个sstable。

  

发生初始转换时,创建的文件为   他们L0?如果是这样,何时将它们压缩到L1,   小时并启用自动压缩。我仍然看不到他们   压实到更高的水平。

-> L0像32个稳定表一样充满,它使用L0中的SCTC来使稳定表递减计数。您可以检查nodetool tablestats以获取每个级别中sstable的数量

更改复制策略时,您需要运行nodetool repair-full,请检查this中的过程。

  

默认大小为160mb,是L0还是L1?大小是多少   变得稳定成为稳定的sstable?他们会是160mb还是   较小?

->只有L0可以具有任意大小的sstable。 普通级别N具有10 ^ N * 160 MB的稳定度(其中N> = 1)。因此,LCS在正常级别上具有固定的大小稳定度,但是总大小会随着我们进入更高级别而增加(例如:L1(1.6G),L2(16G)等)

  

在每个级别中创建了多少文件之后,它会被压缩吗   到下一个水平?

->在正常级别中,每个级别需要容纳10倍以上的稳定才能达到1级。