Требования к жесткому диску Cassandra с SizeTieredCompactionStrategy - PullRequest
2 голосов
/ 29 марта 2020

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

1 Ответ

2 голосов
/ 29 марта 2020

Это требование вытекает из того факта, что процесс сжатия должен иметь достаточно места для того, чтобы взять все SSTable, которые должны быть сжаты, прочитать данные из них и записать новый SSTable на тот же диск. В наихудшем случае , если у вас есть таблица, состоящая из всех SSTable, которые должны быть сжаты, их общий размер составляет 50% доступного дискового пространства, и данные не будут выбрасываться - в этом случае процесс сжатия будет написать один SSTable, который равен размеру входных данных. И если у вас есть входные данные, занимающие более 50% дискового пространства, сжатию не хватит места для написания новой версии.

В реальной ситуации вам нужно иметь достаточно места для сжатия самых больших SSTable в вашем самая большая таблица, выполняемая N потоками уплотнения одновременно. Если у вас много таблиц одинакового размера, тогда это ограничение не такое сильное ...

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