Кассандра постоянная надгробная плита уплотнение стола

У меня есть пара таблиц Cassandra, на которых постоянно выполняется сжатие надгробных камней, и я считаю, что это причина высокой загрузки ЦП процессом Cassandra.

У меня есть настройки:

compaction = {'tombstone_threshold': '0.01', 
'tombstone_compaction_interval': '1', 'class': 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}
default_time_to_live = 1728000
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0

В одну из таблиц я записываю в нее данные каждую минуту. Из-за установленного TTL весь набор строк также истекает каждую минуту.

  • Является ли постоянное уплотнение следствием низких значений tombstone_threshold и tombstone_compaction_interval?

  • Может ли кто-нибудь дать подробное объяснение tombstone_threshold и tombstone_compaction_interval. Документ Cassandra не объясняет это слишком хорошо.


person GenerousJoker    schedule 30.09.2016    source источник


Ответы (1)


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

Вы используете уровень и у вас 20-дневный ttl, похоже. Вы будете делать массу уплотнений, а также уплотнений надгробий, чтобы не отставать. Выровненный будет лучшим, чтобы убедиться, что у вас нет старого надгробия, съедающего дисковое пространство уплотнителей по умолчанию.

Если эти данные представляют собой временные ряды, что звучит так, вы можете вместо этого рассмотреть возможность использования TWCS. Это создаст «сегменты», каждый из которых является sstable после сжатия, поэтому после истечения срока действия ttl для данных в этой таблице компактор может удалить весь sstable, что намного эффективнее.

TWCS доступен в виде jar-файла, который нужно добавить в путь к классам для версии 2.1, и в настоящее время мы используем его в производстве. Он также был добавлен в серию Cassandra 3.x.

person Jeff Beck    schedule 01.10.2016
comment
Спасибо за объяснение и предложение TWCS. Не могли бы вы уточнить, почему вы говорите, что 20-дневный TTL вызовет массу уплотнений и уплотнений надгробий. - person GenerousJoker; 06.10.2016