По истечении скажем неск мес часовые уже не нужны - я бы слил их в дневные. Добавил бы таблице TTL c group. А вопрос собсно - там миллиарды строк - если я скажу таблице Alter add ttl - не ляжет ли сразу сервер? Или КХ грамотно запустит в сторонке нечто, что тихонько поползет по таблице и за неск дней мне все сделает? База боевая
а вы проверяли на пустой таблице? на тестовых данных из 3 строк? вы вообще можете добавить TTL group by на сущ. таблицу?
А что, разве нельзя добавить TTL в таблицу без TTL?
можно, просто для TTL GROUP BY обычна нужна особая структура ORDER BY
в общем вам надо set materialize_ttl_after_modify=0; alter table modify ttl.... а потом вручную запускать alter table materialize ttl in partition по одной
аа, эдакий полуручной запуск - но ничего - нормально
А что там с особой структурой? Зачел еще раз док - не вижу нич специального. Ордер бу конечно есть, таблица SummingMergeTree и ордер by куча колонок, но первая - дата
Ну собсно, да, создам тест таблцу такой же структуры и попробую добавить ttl. Спасибо!
даже не знаю как сказать, group by можно делать только по префиксу order by вот тут в одном примере ORDER BY (key, toStartOfWeek(ts), toStartOfDay(ts), toStartOfHour(ts)) https://kb.altinity.com/altinity-kb-queries-and-syntax/ttl/ttl-group-by-examples/
Да, именно. Отличная статья, спасибо
Обсуждают сегодня