Чему вы научитесь
- Работать с JSON-полями и доставать из них нужные значения
- Использовать массивы, arrayJoin, groupArray и groupUniqArray в аналитических задачах
- Понимать, как в ClickHouse работают обновления, удаления и mutations
- Использовать ReplacingMergeTree для хранения версий строк и дедупликации
- Понимать, когда нужен FINAL и почему его нельзя бездумно добавлять в каждый запрос
- Собирать clean- и mart-слои для аналитики
- Создавать простые аналитические витрины в ClickHouse
- Понимать базовую идею Materialized Views и использовать их для подготовки агрегатов
- Разбираться, когда использовать JOIN, Dictionary или широкую витрину
- Проверять тяжёлые запросы через system.query_log
- Использовать базовый чек-лист оптимизации ClickHouse-запросов
О курсе
Этот курс — продолжение первой части «ClickHouse: быстрый старт для аналитика».
В первой части мы разобрали базу: что такое ClickHouse, зачем он нужен аналитику, как устроены таблицы MergeTree, почему важны ORDER BY и PARTITION BY, как выбирать типы данных, загружать данные, писать аналитические запросы и работать с JOIN.
В этом продолжении идём дальше и разбираем темы, которые часто встречаются в реальной работе с ClickHouse:
- JSON и вложенные данные;
- массивы,
arrayJoin,groupArray; - обновления и удаления данных;
- дедупликация и
ReplacingMergeTree; FINALи его влияние на запросы;- raw, clean и mart-слои;
- аналитические витрины;
- Materialized Views;
- Dictionaries;
- широкие таблицы;
- базовая оптимизация запросов;
EXPLAIN,PREWHEREиsystem.query_log.
Главная цель курса — не перегрузить теорией, а показать практические механики ClickHouse, которые помогают увереннее работать с аналитическими таблицами.
Курс подойдёт тем, кто уже знаком с базовым SQL и прошёл первую часть курса или уже немного работал с ClickHouse. Здесь мы не будем заново объяснять SELECT, WHERE, GROUP BY и JOIN, а сосредоточимся именно на особенностях ClickHouse.
После курса вы будете лучше понимать, как хранить сырые данные, как приводить их к нормальному виду, как собирать витрины под отчёты и как избегать типичных ошибок при работе с большими аналитическими таблицами.
В конце курса будет практический проект: сборка аналитической витрины продаж в ClickHouse. На нём мы применим основные темы курса: raw → clean → mart, типы данных, JOIN со справочником, условные агрегаты, витрины и базовую проверку запросов.
Этот курс не делает из вас администратора ClickHouse, но помогает сделать следующий шаг: от базовых запросов к более осознанной работе с ClickHouse как с аналитическим хранилищем.
Для кого этот курс
Начальные требования
Перед стартом желательно:
Знать базовый SQL: SELECT, WHERE, GROUP BY, JOIN
Понимать, что такое таблица, колонка, тип данных и агрегация
Понимать базовую идею ClickHouse как аналитической колоночной базы
Желательно пройти первую часть курса «ClickHouse: быстрый старт для аналитика» или уже иметь небольшой опыт работы с ClickHouse
Глубокие знания администрирования ClickHouse не требуются
Наши преподаватели
Как проходит обучение
Курс состоит из коротких теоретических уроков с примерами SQL-кода.
Каждая тема разбирается в прикладном формате:
что это за механизм;
зачем он нужен аналитику;
как это выглядит в SQL;
где можно ошибиться;
когда это стоит использовать в реальной работе.
В курсе будут примеры запросов, мини-задания и финальная практическая работа по сборке аналитической витрины.
Основной фокус — не на длинной теории, а на конкретных паттернах работы с ClickHouse.
Программа курса
Что вы получаете
- Понимание более продвинутых возможностей ClickHouse без перегруза администрированием
- Готовые SQL-примеры, которые можно адаптировать под свои задачи
- Практическое понимание raw, clean и mart-слоёв
- Понимание, как собирать витрины под отчёты и дашборды
- Базу для дальнейшего изучения ClickHouse, Materialized Views, Dictionaries и оптимизации
- Финальный учебный проект: аналитическая витрина продаж в ClickHouse
- Понимание типичных ошибок при работе с JOIN, FINAL, JSON, arrayJoin и тяжёлыми запросами