Курсы BI


Запросы в Clickhouse


Запросы в Clickhouse

Описание

Курс направлен на освоение эффективного написания и оптимизации SQL-запросов в ClickHouse. Участники изучат работу с метриками запросов, индексацию, джойны, агрегацию, подзапросы, CTE, кэширование и пользовательские функции. Особое внимание уделяется анализу производительности и оптимизации запросов для работы с большими объемами данных.

Для кого

  • Разработчики, использующие ClickHouse в своих приложениях
  • Аналитики, работающие с данными в ClickHouse
  • Администраторы и специалисты сопровождения, которым необходимо оптимизировать запросы и решать проблемы производительности

После курса сотрудники смогут

  • создавать запросы к Clickhouse;
  • оценивать производительность запросов;
  • использовать различные способы джойнов;
  • наиболее эффективно фильтровать данные;
  • понимать планы выполнения запросов и корректировать их.

План курса

  1. Введение в Clickhouse SQL. Основные отличия от Postgres SQL, Oracle SQL и SQL Server Transact-SQL.
  2. Клиенты для написания запросов Clickhouse: DBeaver и clickhouse-client. В каких ситуациях выбирать каждый из клиентов. Тонкие настройки клиентов.
  3. Получение метрик запросов для оптимизации. Встроенные метрики clickhouse-client и команда EXPLAIN. Дополнительные модификаторы INDEXES, HEADER, DESCRIPTION, ACTIONS, JSON в EXPLAIN PLAN.
  4. Таблицы system.query log и system.query_metrics для ретроспективного анализа запросов
  5. Оптимизация фильтрации. WHERE и PREWHERE. Первичные и вторичные индексы. Типы minmax, set и bloom для вторичных индексов. Применение проекций для ускорения фильтрации данных.
  6. Особенности фильтрации по текстовым данным в запросах Clickhouse. LIKE и регулярные выражения. Применение полнотекстовых индексов.
  7. Ограничение набора возвращаемых данных. LIMIT и FETCH.
  8. Сортировка в запросах Clickhouse. Сортировка в оперативной памяти и с использованием диска: max_bytes_before_external_sort. Индексы и проекции для ускорения сортировки.
  9. Синтаксис джойнов в запросах Clickhouse. Внутренние и внешние джойны. Джойны типа SEMI, ANTI, ANY, ASOF. Ситуации применения.
  10. Оптимизация джойнов в Clickhouse. Выбор алгоритма джойнов в запросе: hash join, parallel hash join, grace hash join, full sorting merge join, partial merge join. Direct join и применение словарей (dictionaries) как самый быстрый способ объединения таблиц.
  11. Группировка в запросах Clickhouse. Особенности применения агрегатных функций. Комбинаторы агрегатных функций: -If, -Array, -SimpleState, -State и т.п. ROLLUP и оконные функции.
  12. Декомпозиция в запросах Clickhouse. Особенности работы с подзапросами, Common Table Expressions и временными таблицами.
  13. Дополнительные возможности оптимизации запросов. Управление кэшированием и сжатием данных. Применение столбцовой статистики.
  14. Создание пользовательских функций в Clickhouse. Функции на основе лямбда-выражений и внешние функции.




« Предыдущий курс     Следующий курс»

Возврат к списку


Подпишитесь на новости