сыпятся данные через матвью
                  
                  
                  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 минут живут, перестаньте инсертить и они сразу исчезнут
Обсуждают сегодня