2013-07-16 4 views
0

У нас есть рабочий процесс с записью на кластере 1.2.5 Cassandra. Поскольку дисковое пространство ограничено, мы иногда должны удалять старые данные. Это удаление начинается, когда количество свободного места на диске падает до определенного уровня. Мы узнали о роли надгробных камней, т. Е. Они удаляются, когда истекает время ожидания gc_grace и выполняется незначительное уплотнение. Таким образом, мы установили «задержку терпения», и по истечении этого срока мы снова можем проверить свободное пространство на диске.Предсказуемое удаление строки Cassandra

Но нам нужна более предсказуемая схема удаления, поскольку мы не можем полагаться на «незначительное уплотнение, возможно, когда-нибудь будет работать». Это не кажется слишком специфичным, поэтому мы не знаем, когда мы снова должны проверить свободное место на диске. Может быть, вы можете предложить некоторые идеи.

ответ

0

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

В качестве альтернативы, с уплотнением размера (по умолчанию), вы можете выполнить полное уплотнение с помощью nodetool compact. Это приведет к удалению всех надгробий старше gc_grace.

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

 Смежные вопросы

  • Нет связанных вопросов^_^