Основное уплотнение на ScyllaDB - PullRequest
0 голосов
/ 27 февраля 2019

Простой запрос: - Я удалил данные на Scylla с gc_grace_seconds за 10 дней.Сцилла создала надгробия и ожидала истечения срока действия gc_grace_seconds.

Теперь я выполнил крупное уплотнение на 2-й день после удаления (до истечения срока действия gc_grace_seconds осталось 8 дней).

1) Какое уплотнение будет выполняться?Он рассмотрит все надгробия и очистит, которые были удалены за 2 дня до или нет?

2) Мне следует изменить gc_grace_seconds = 0 перед запуском крупного уплотнения?

Пожалуйста, помогите

Спасибо вAdvance.

1 Ответ

0 голосов
/ 27 февраля 2019

1) По крайней мере, в Кассандре (без понятия о Сцилле) он не будет очищать надгробия до тех пор, пока не пройдет gc_grace_seconds.Вот для чего нужны секундные льготы - указать базе данных хранить надгробия как минимум так долго.

2) Вы можете это сделать, если действительно хотите их очистить.С 0 gc grace это также означает, что подсказки не будут храниться в Cassandra, поэтому, возможно, вы захотите установить значение 1, если вы не согласны с уменьшением срока службы вновь записанных данных.Также необходимо убедиться, что ремонт завершен, так как ваши данные были записаны или данные, которые могут быть удалены (возможно, маловероятно), будут удалены.Если установлено only_purge_repaired_tombstones, это предотвратит очистку даже после отсрочки gc, если данные не были восстановлены (я бы порекомендовал установить это так, как оно того стоит)

...