Выровненное уплотнение не уплотняется до более высокого уровня - PullRequest
0 голосов
/ 23 февраля 2019

Переключение с STCS на LCS путем изменения таблицы - версия 3.11.3

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

Теперь я вижу, что есть sstables с размером по умолчанию 160 МБ, теперь я вижу более 100 160 МБ sstables.

  1. Когда происходит первоначальное преобразование, файлы, которые были созданы, представляют собой L0?

  2. Если это так, когда они уплотняются до L1Прошло пару часов, и автоматическое уплотнение включено.Я до сих пор не вижу, как они уплотняются до более высокого уровня.

  3. Размер по умолчанию 160 МБ, это для L0 или L1?

  4. Каков будет размер sstable, который становится флеш, чтобы стать sstables?они будут 160 МБ или меньше?

  5. После того, сколько файлов будет создано на каждом уровне, будет ли оно сжато до следующего уровня?

1 Ответ

0 голосов
/ 23 февраля 2019

Это вполне ожидаемо по умолчанию (sstable_size_in_mb = 160 МБ) с LCS.

L1 и выше - нормальные уровни.L0 - просто заполнитель и может иметь перекрывающиеся данные и любой размер sstables.На нормальном уровне два sstable не перекрываются, то есть два sstable не могут иметь одинаковый раздел.Таким образом, для чтения раздела нам нужно проверить только один sstable.

Когда происходит первоначальное преобразование, файлы, которые были созданы, являются ли они L0?Если это так, когда они уплотняются до L1, прошло несколько часов, и автоматическое уплотнение включено.Я до сих пор не вижу, чтобы они уплотнялись до более высокого уровня.

-> L0 заполнен как 32 sstables, он использует SCTC в L0, чтобы заставить sstables вести обратный отсчет.Вы можете проверить таблицы параметров nodetool, чтобы получить количество sstables на каждом уровне

. При изменении стратегии репликации вам нужно запустить исправление nodetool, проверьте this для процедуры.

Размер по умолчанию 160 МБ, это для L0 или L1?Каков будет размер sstable, который становится флеш, чтобы стать sstables?они будут 160 МБ или меньше?

-> Только L0 может иметь sstables любого размера.Нормальный уровень N имеет 10 ^ N * 160 МБ sstables (где N> = 1).Таким образом, LCS имеет фиксированные размеры sstables на нормальных уровнях, но общий размер будет увеличиваться при переходе на более высокие уровни (например, L1 (1.6G), L2 (16G) и т. Д.)

После сколькихфайлы создаются на каждом уровне, уплотняется ли он до следующего уровня?

-> На нормальном уровне каждый уровень должен содержать в 10 раз больше sstables, чтобы перейти на 1 уровень выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...