"Как ускорить ClickHouse? Обсуждали с одним де перформанс систем и связку Trino + ClickHouse. Моя первая мысль - серьезно? КХ и так быстрый, куда еще к нему Trino накручивать?? Моя вторая мысль - тестим! Дисклеймер - мои тесты не претендуют на супер истину, но дают определенное представление 💻 Я взяла ноут, подняла кх с 1 нодой и трино с кх каталогом. Создала тестовые таблички с 1к, 10к, 100к, 1млн, 10млн строк. Больше уже не отрабатывало Придумала такой запрос: ``` with cte as ( select id, concat(cast(id, 'String'), '_', cast(id, 'String')), sum(id), row_number() over (order by id) as rn from test.tbl1000 group by 1, 2 ) select * from cte where rn in (14, 49) order by rn desc ``` Тут есть работа со строками, агрегация, оконка и т.д. - поэтому тестим в какой-то мере тяжелую операцию Запрос я запустила по 50 раз на каждом размере данных для кх и трино. Потом так же погоняла insert моей cte в таблицу Изначально сходила в system.query_log и посчитала длительность, строки, байты, память в среднем по всем запускам. Потом поняла, что для трино они будут отражать только кусок работы в кх, поэтому сравнение будет некорректным По итогу решила сравнить время: query_duration_ms vs elapsedTime Какие выводы я могу сделать: 1. Трино поверх КХ проигрывает КХ. Так получилось при моих данных и в моих условиях. Хотя есть мнение, что на большом объеме данных он работает быстрее бд (~100гб) 2. При insert трино проигрывает еще значительнее, потому что сначала пишет данные во временную таблицу, потом перекладывает в основную: ``` INSERT INTO ""test"".""result1000"" (""id"", ""str"", ""sum_"", ""rn"") SELECT ""id"", ""str"", ""sum_"", ""rn"" FROM ""test"".""tmp_trino_c5cb30af"" temp_table ``` 3. В query_log по Трино не собирается часть метрик: user_aggregate_functions, used_functions, used_data_type_families. А также отличаются result_rows, query. Если это важно для мониторинга, то использовать не получится 4. Я также хотела отделить разные тесты комментами, чтобы потом удобнее искать в query_log: ``` SETTINGS log_comment = 'test' ``` Но в трино нет такого функционала, так что многие необходимые кликхаусные штучки просто не будут работать @data_engineerette"
"Как ускорить ClickHouse? Обсуждали с одним де перформанс систем и связку Trino…
Из этого канала
- #501Понедельничная мантра Всем прекрасной рабочей недели🐾
Понедельничная мантра Всем прекрасной рабочей недели🐾
- #503"Как движки вас газлайтят? Расскажу историю, которая на днях прозошла на нашем…
"Как движки вас газлайтят? Расскажу историю, которая на днях прозошла на нашем кластере 💋Что надо сделать? Создать табличку и запустить пайплайн заливки…
- #505SQL Advent. Day 1 Сегодня стартовал адвент по sql! К сожалению, орг…
SQL Advent. Day 1 Сегодня стартовал адвент по sql! К сожалению, орг прошлогоднего адвента решил в этом году его не делать 😪 Но я нашла еще один! 🤩всего 24 дня…
- #499"Минутка рефлексии Не люблю рефлексировать, потому что это всегда вгоняет меня…
"Минутка рефлексии Не люблю рефлексировать, потому что это всегда вгоняет меня в тоску😔 Но мем прям метчится со мной.
- #497"Возможен ли Sort-Merge Join без шафла? Ага, в спарке есть такая оптимизация -…
"Возможен ли Sort-Merge Join без шафла? Ага, в спарке есть такая оптимизация - Storage Partition Join (SPJ).