Удалить весь раздел из Cassandra без надгробий и ttl?

Можно ли удалить весь раздел из таблицы Cassandra, не записывая надгробий, не дожидаясь gc_grace_period и не выполняя уплотнение?


person rajat    schedule 07.05.2018    source источник


Ответы (1)


Никогда раньше gc_grace_period. Но хорошо, что вы можете это контролировать. Если вы знаете назначение надгробий, то можете понять, что при распределенных удалениях, если узел не работает какое-то время, вы можете получить удаленные данные или возникнут некоторые проблемы с согласованностью. Для одного узла вы можете установить gc_grace_period равным 0. Но для нескольких узлов это значение должно быть больше 0. Для частого удаления в некоторых таблицах, если вас беспокоит создание большого количества надгробий, вы можете установить небольшой gc_grace для этих таблиц, но рассмотрите сценарии сбоя узла и обработайте его по мере необходимости.

Некоторые ссылки:

удаление без надгробий или TTL
Об удалениях в Cassandra

ОТРЕДАКТИРОВАННЫЙ ОТВЕТ

Range Tombstones — это эффективный способ удаления на основе ключа раздела. Это создает одно захоронение для всей строки, уменьшая количество захоронений, прочитанных при чтении диапазона, и количество захоронений, которые необходимо объединить или очистить путем сжатия.

Из ссылки @mando222 & я поделился. Пожалуйста, прочтите данную ссылку. Вы получите свой ответ.

Существуют различные типы удалений. Удаление всего раздела (или удаление одной строки), удаление одного столбца, удаление диапазона. Если вы удалите одну строку или раздел, не упомянув столбец, будет создано только одно надгробие для этой строки или всего раздела. У них нет отдельного надгробия для каждой ячейки, вместо этого у них есть надгробие с одним диапазоном.

Если вы удаляете диапазон, некоторые строки, которые находятся в диапазоне, также создают одиночное захоронение для диапазона.

Меньшее количество надгробий обеспечивает более быстрое чтение и более быстрое и менее дорогое уплотнение.

person Chaity    schedule 07.05.2018
comment
Я бы также добавил, что вы можете удалить раздел и получить одну надгробную плиту вместо того, чтобы удалять строки и получать много. Недавно у TLP была отличная статья на эту тему. Это намного безопаснее, чем возиться с gc_grace до 0. - person mando222; 07.05.2018
comment
Как удалить раздел и получить один раздел? @mando222 mando222 Это кажется идеальным для моего варианта использования - person rajat; 22.05.2018
comment
У @rajat TLP была отличная статья, которая может помочь вам понять это. thelastpickle.com/blog/2016/07/27/ - person mando222; 22.05.2018