Сколько свободного места на диске нужно для уплотнения?

Согласно этой статье: http://thelastpickle.com/blog/2017/03/16/compaction-nuance.html

«Он смотрит на общее пространство, используемое всеми sstables, складывает его и сравнивает с доступным дисковым пространством»

Означает ли это, что общее пространство учитывается для всех sstables, хранящихся на данном узле, или для всех sstables, которые будут уплотнены?

Можно предположить, что у нас есть SizeTieredCompactionStrategy.


person pWoz    schedule 16.01.2019    source источник
comment
Невозможно узнать размер уплотненного контура до тех пор, пока он не произойдет, поскольку невозможно определить количество затененных данных в надгробных плитах или перезаписанных ячейках. Вероятно, лучше всего предположить худший случай и размер двух сложенных файлов.   -  person Chris Lohfink    schedule 17.01.2019


Ответы (2)


Согласно noreferrer Relief " исходный код в CompactionTask # buildCompactionCandidatesForAvailableDiskSpace for Cassandra 2.1.20 размер записи для всех sstables, которые будут уплотнены (sstables, срок действия которых не истек).

Кроме того, в качестве общей рекомендации следует заполнить диск до 50% от размера диска, чтобы уплотнение можно было безопасно выполнять.

person Horia    schedule 16.01.2019
comment
Итак, предполагая, что не будет параллельных сжатий, мы можем сказать, что необходимое свободное дисковое пространство не превышает размера самого большого пространства ключей, верно? - person pWoz; 17.01.2019
comment
CompactionTask учитывает только sstables для этого уплотнения, а не для всех уплотнений, которые могут выполняться параллельно. Как я уже говорил, самым безопасным было бы заполнить диск до 50% от его емкости. Кроме того, у вас могут возникнуть проблемы. Я видел системы, которые довольно быстро заполняли пространство. - person Horia; 17.01.2019

Для стратегии сжатия SizeTieredCompactionStrategy должно быть свободно не менее 50% дискового пространства от общего дискового пространства файла данных Cassandra, чтобы можно было безопасно выполнить сжатие.

person LetsNoSQL    schedule 16.01.2019