ClickHouse 26.6: skip-индексы до миграций, каскадные обновления и потоковые запросы
Команда ClickHouse выпустила версию 26.6. Релиз получился заметным: 56 новых возможностей, 79 оптимизаций производительности и 366 исправлений. К тому же он вышел к 10-летию с момента открытия исходного кода ClickHouse.
Главные изменения — гипотетические индексы пропуска данных, переработка зависимостей для обновляемых материализованных представлений, экспериментальные непрерывные запросы, встроенная справка в CLI, улучшения для геоданных и новые функции для работы с эмбеддингами.
В ClickHouse 26.6 появилась возможность проверить, насколько полезен будет skip-индекс, не создавая его физически.
Теперь можно описать гипотетический индекс через CREATE HYPOTHETICAL INDEX, а затем посмотреть оценку через EXPLAIN WHATIF. Такой индекс существует только в текущей сессии, не виден другим пользователям и удаляется после завершения сессии.
Практический смысл простой: перед изменением схемы можно понять, стоит ли вообще добавлять индекс и какие параметры выбрать. Например, для фильтрации по колонке town в тесте на наборе данных почти в 500 млн строк ClickHouse показал, какую долю гранул сможет пропустить индекс с разной гранулярностью: в одном варианте — 77%, в другом — 92%.
Это не заменяет полноценного нагрузочного тестирования, но даёт быстрый способ проверить гипотезу до изменения таблицы.
В релизе переработали зависимости для обновляемых материализованных представлений (refreshable materialized views).
Раньше представления могли зависеть друг от друга, но при этом каждое запускалось по собственному расписанию. Из-за этого между этапами могла накапливаться задержка: одно представление уже обновилось, другое ещё ждёт свой таймер, третье может отстать на целый цикл.
Теперь зависимые представления можно обновлять каскадно. Таймер задаётся
Читать на habr.com

