Установка параметров TTL

С помощью подкоманды table ttl set вы можете установить TTL для указанной таблицы.

Общий вид команды:

ydb [global options...] table ttl set [options...] <table path>

Посмотрите описание команды установки TTL:

ydb table ttl set --help

Параметры подкоманды

Имя Описание
--column Имя колонки, которая будет использована для вычисления времени жизни строк. Колонка должна иметь тип числовой или дата и время.
В случае числового типа значение будет интерпретироваться как время, прошедшее с начала эпохи Unix. Единицы измерения должны быть заданы в параметре --unit.
--expire-after Дополнительное время до удаления, которое должно пройти после истечения времени жизни строки. Указывается в секундах.
Значение по умолчанию — 0.
--unit Единицы измерения значений колонки, которая указана в параметре --column. Обязателен, если колонка имеет числовой тип.
Возможные значения:
  • seconds (s, sec) — секунды;
  • milliseconds (ms, msec) — миллисекунды;
  • microseconds (us, usec) — микросекунды;
  • nanoseconds (ns, nsec) — наносекунды.
--run-interval Интервал запуска операции удаления строк с истекшим TTL. Указывается в секундах. Наименьший допустимый интервал составляет 15 минут (900 секунд). Значение по умолчанию (3600) оптимально для старта работы с таблицей с установленным TTL.

При выборе значения --run-interval важно учитывать баланс между задержкой удаления просроченных данных и дополнительной нагрузкой на кластер. Слишком маленький интервал приводит к частому запуску фоновых задач удаления и может заметно увеличить нагрузку на CPU и I/O, особенно при большом объёме данных. Слишком большой интервал, наоборот, задерживает физическое удаление строк: просроченные данные дольше занимают место на диске и могут продолжать участвовать в сканированиях.

При любом значении --run-interval следует ожидать, что на запрос к таблице могут вернуться строки с истекшим TTL.

Примеры

Примечание

В примерах используется профиль quickstart, подробнее смотрите в Создание профиля для соединения с тестовой БД.

Установите TTL для таблицы series

ydb -p quickstart table ttl set \
  --column createtime \
  --expire-after 3600 \
  --run-interval 1200 \
  series