Уменьшение объема хранимых данных
Если необходимо уменьшить размер базы, можно удалить старые записи, выполнив команду:
docker-compose exec clickhouse clickhouse-client --query="ALTER TABLE collector.flows DELETE WHERE timestamp_sec < toUnixTimestamp('1970-01-01');"
docker-compose exec clickhouse clickhouse-client --query="ALTER TABLE collector.rate_metrics DELETE WHERE date < toDateTime('1970-01-01');"Здесь 1970-01-01 – требуемая дата.
Если необходимо изменить время хранения flow, выполните (скрипт) командой:
docker-compose exec -T clickhouse clickhouse-client -mn < volume_reduction.sqlДанный пример скрипта предполагает дальнейшую модификацию под собственные нужды. Текущий вариант скрипта:
- удаляет все данные старше тех, которые собраны за последний месяц.
- изменяет время жизни данных на 1 месяц (time to live, TTL).
Скрипт выполняется единожды, далее записи в базе старше одного месяца будут удаляться
автоматически. Для изменения времени хранения flow следует изменить toIntervalMonth(1),
где 1 – количество месяцев хранения. Опционально можно изменить размер раздела с помощью
PARTITION BY toYYYYMMDD(date).