сыпятся данные через матвью
create table if not exists TrackOpt
(
dt DateTime,
channel_id UInt32,
tag_id UInt32,
reqs UInt64,
opps Int64,
imps UInt64
)
engine = SummingMergeTree ORDER BY (dt, channel_id, tag_id)
TTL dt + toIntervalMinute(10)
Собсно нужна чтоб быстро добыть топ-данныч за последние 10 мин не ползая по большой базе
но вот select count(*) from system.parts where table='TrackOpt'; вывел аж 4тыс кусков. Активных 12. Осальные неактив. И таблица на диске занимает фж целый гигабайт а там 200тыс строк всего. ОТчего не удаляются. Может как-то не так надо реализовывать подобную идею?
Я так понимаю постоянные удаления генерируют много лишних операций, я бы попробовал партиционировать по 10 минут например и добавить settings ttl_only_drop_parts = 1, тогда будут максимум за 20 минут данные, но диск не будет страдать
неактивные куски не учавствуют в запросах, их кол-во не имеет значения
а, ну ок, спасибо. Не стоит их как-то сносить? Или та самая ttl_only_drop_parts?
??? они только 8 минут живут, перестаньте инсертить и они сразу исчезнут
Обсуждают сегодня