Задайте TTL по времени события: event_time + INTERVAL 2 YEAR DELETE. Удаление происходит фоново, поэтому это не мгновенная граница доступа.
[имя] спросил: Как реализовать хранение данных только за 2 года в ClickHouse?
Задайте TTL по времени события: event_time + INTERVAL 2 YEAR DELETE. Удаление происходит фоново, поэтому это не мгновенная граница доступа.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Задайте TTL по времени события: event_time + INTERVAL 2 YEAR DELETE. Удаление происходит фоново, поэтому это не мгновенная граница доступа.
Для таблицы семейства MergeTree правило может выглядеть так:
ALTER TABLE events
MODIFY TTL event_time + INTERVAL 2 YEAR DELETE;
Поле event_time должно иметь подходящий тип Date или DateTime. ClickHouse удаляет просроченные данные при обработке TTL во время слияний, а не ровно в момент истечения срока. Если отчёт должен строго видеть только последние два года, добавьте соответствующий фильтр в запрос. Отдельно определите сроки хранения резервных копий.
Источник: clickhouse.com.