some_date_time + toIntervalDay(30), партииции разбиты по ToStartHour(some_date_time).
Смотрю количество партиций в system.parts для данной таблицы и их значительно больше 720 (30*24). а при детальном разборе партиции старше 30 дней не удаляются, а существуют с нулевым количеством строк.
Насколько это нормально и стоит ли их вычищать, дабы повысить производительность?
system.parts и PARATITION BY это разные сущности system.parts это куски данных внутри партиций образованные в результате вставки или слияния старых партов частые партиции это не правильно, или у вас действительно много данных но за короткий промежуток времени? сколько миллиардов строк?
Чуть больше 9 миллиардов строк, данных за короткий промежуток времени достаточно много
тогда да, просто помните что system.parts входят в system.partitions там даже поле есть такое парты с нулевым кол-вом строк могут существовать, это не страшно можно удалить со временем см. ttl_only_drop_parts https://clickhouse.tech/docs/en/operations/settings/settings/#ttl_only_drop_parts
забейте. раньше патры нельзя было удалять из середины, поэтому оставались парты с 0 строк. Сейчас это уже изменено, они удалятся после апргрейда на версию x.u.z #16895 Remove empty parts after they were pruned by TTL, mutation, or collapsing merge algorithm. Anton Popov - Yandex
Обсуждают сегодня