Чтобы ответить на ваш конкретный случай: поскольку таблица ' holder ' содержит только один раздел, вы можете удалить весь раздел с помощью одного оператора «delete by partition key», эффективно создав единую надгробную плиту.
Если вы удаляете раздел один раз в день, вы получите 1 надгробную плиту в день ... это вполне приемлемо.
1) с gc_grace_seconds
равняется 3 часам, а если RF> 1, вам не гарантируется постоянное восстановление после сбоя узла более 3 часов
2) с default_time_to_live
равным 3 часам, каждая запись будет удалена путем создания надгробной плиты через 3 часа после вставки
Таким образом, вы можете оставить значение gc_grace_seconds по умолчанию равным 10 дням и позаботиться об удалении ваших ежедневных записей с помощью чего-то вроде DELETE FROM table WHERE PartitionKey = X
РЕДАКТИРОВАТЬ: Отвечая на ваш комментарий о подсказке хэндовера ...
Допустим, RF = 3
, gc_grace_second = 3h
и узел выходит из строя.Две другие реплики продолжают получать мутации (вставка, обновление, удаление), но они не могут реплицировать их на автономный узел.В этом случае подсказки будут временно храниться на диске, чтобы быть отправленными позже, если мертвый узел вернется.
Но подсказка истекает после gc_grace_seconds
, после чего она никогда не будет отправлена.
Теперь, если вы удалите строку, она создаст надгробную плиту в sstables 2 реплик и подсказку в узле координатора.Через 3 часа надгробия удаляются из онлайн-узлов менеджером уплотнения, и подсказка истекает.
Позже, когда ваш мертвый узел возвращается, у него все еще есть строка, и он не может знать, что этострока была удалена, потому что на репликах нет подсказок и больше нет надгробий ... таким образом, это строка зомби.