Курс «ClickHouse для аналитиков и инженеров данных» поможет разобраться с популярной колоночной СУБД для аналитики больших данных, научиться эффективно хранить терабайты информации, выполнять быстрые SQL-запросы и понимать, для каких задач ClickHouse подходит лучше всего, а где его применять не стоит.
Что вы изучите на курсе
На обучении вы познакомитесь с архитектурой ClickHouse, особенностями хранения и обработки данных, практиками оптимизации запросов и типичными ошибками при работе с колоночными СУБД.
- Разберетесь, как ClickHouse обрабатывает миллиарды строк за секунды.
- Поймете отличия ClickHouse от PostgreSQL, Spark и других систем хранения и обработки данных.
- Научитесь проектировать таблицы, выбирать движки, кодеки, партиционирование и TTL.
- Освоите подключение к ClickHouse через clickhouse-client, DBeaver, JDBC, HTTP и Python.
- Изучите работу single-инсталляций и кластерных конфигураций с шардами и репликами.
- Научитесь анализировать производительность запросов, настраивать мониторинг и устранять типичные проблемы.
- Разберете практические сценарии: встроенная аналитика, SIEM, метрики, ETL/ELT-пайплайны, дашборды и продуктовая аналитика.
Кому подойдет курс
- Аналитикам данных, которые хотят быстрее выполнять аналитические SQL-запросы и работать с большими объемами данных.
- Инженерам данных, проектирующим пайплайны, хранилища и витрины данных на ClickHouse.
- Разработчикам, которым нужно интегрировать ClickHouse в приложения, сервисы и аналитические платформы.
- Архитекторам данных, выбирающим оптимальную СУБД для аналитических нагрузок и высоконагруженных систем.
Формат обучения
Курс рассчитан на 6 недель: 1 встреча в неделю. Занятия проходят в формате живых лекций с экспертом Алексеем Белозерским.
Программа обучения
Занятие 1. Архитектура ClickHouse
На первом занятии вы разберете, какие бывают СУБД, чем отличаются строковые и колоночные базы данных, а также почему ClickHouse эффективен для аналитических нагрузок.
- Реляционные и нереляционные СУБД.
- Строковые и колоночные базы данных.
- Транзакционные и нетранзакционные системы.
- ACID и BASE: ключевые различия.
- Особенности ClickHouse и архитектурные компромиссы при разработке СУБД.
- CAP-теорема, отказоустойчивость и гарантии целостности данных.
- Области применения ClickHouse: когда использовать, а когда лучше выбрать другую технологию.
- PostgreSQL vs ClickHouse: различия в хранении и обработке данных.
- Архитектура ClickHouse: шарды, реплики, ZooKeeper и ClickHouse Keeper.
Практика
- Установка ClickHouse на Ubuntu в формате single-инсталляции.
- Подключение к СУБД через clickhouse-client и DBeaver.
- Создание таблиц: от простых структур к более сложным схемам.
- Типы данных в ClickHouse, кодеки и движки для single-инсталляции.
- Подключение через SQL Driver JDBC, HTTP и Python.
- Разбор того, как устроено подключение к ClickHouse «под капотом».
- Базовая конфигурация системы, текстовые конфиги и популярные оптимизации.
Занятие 2. Данные внутри ClickHouse
Занятие посвящено тому, как ClickHouse хранит данные на диске, как работают части данных, слияния, мутации и оптимизации хранения.
- Движок MergeTree и принципы LSM-tree.
- Data Parts: структура, назначение и жизненный цикл.
- Слияния и мутации данных.
- Реальный формат хранения данных на диске.
- Как особенности хранения влияют на производительность SQL-запросов.
- Работа с дисковой подсистемой.
- Температурная карта хранения на разных типах дисков и работа с S3.
- Вставка данных большими батчами: лучшие практики.
- Создание таблиц в ClickHouse в экспертном режиме: опции и команды.
Практика
- Исследование Data Parts на диске и в служебных таблицах ClickHouse.
- Изучение оптимизаций и слияний данных.
- Проверка успешного приема данных СУБД через анализ Data Parts.
- Разбор влияния файловой системы на работу ClickHouse в разных режимах эксплуатации.
- Продвинутый CREATE TABLE: кодеки, оптимизация хранения, TTL и температурная карта.
Занятие 3. Использование ClickHouse в приложениях
На занятии вы узнаете, как подключать ClickHouse к приложениям, управлять соединениями, работать с балансировкой и проектировать архитектуру сервисов с учетом особенностей СУБД.
- Подключение к ClickHouse через HTTP и JDBC.
- Балансировка подключений.
- Инструменты для управления подключениями в современных архитектурах приложений.
- Шардирование данных и локальность.
- Как приложение определяет, к какому узлу подключаться в сложной конфигурации кластера.
- Примеры применения ClickHouse в архитектуре приложений.
- Кейс встроенной аналитики.
- Работа с большими потоками данных и масштабирование потока.
- Кейс данных SIEM.
- Кейс сборщика метрик StatsHouse.
- Консистентность данных в ClickHouse, BASE и особенности поведения СУБД.
- Мониторинг здоровья ClickHouse: за чем следить в single- и cluster-архитектурах.
Практика
- Подключение к ClickHouse из Python как пример интеграции с приложениями.
- Настройка балансировки подключений к ClickHouse.
- Разбор требований к балансировщикам и типичных ошибок новичков.
- Создание дашбордов здоровья ClickHouse для single- и cluster-архитектур.
- Настройка алертов о неполадках в кластере.
- Обсуждение элементов OLTP-сценариев: когда их можно использовать в ClickHouse.
Занятие 4. Обработка данных в ClickHouse
Занятие посвящено пайплайнам, материализованным представлениям, мутациям, партициям, коннекторам и инструментам для построения процессов обработки данных.
- Пайплайны в кластере ClickHouse и гарантии BASE.
- Движки семейства MergeTree: что важно знать.
- Представления и материализация в ClickHouse.
- Materialized View into Table: когда использовать.
- Работа с партициями.
- Мутации данных и подход ClickHouse к ALTER TABLE.
- Мониторинг мутаций.
- ClickHouse + Airflow: практические сценарии.
- ClickHouse + dbt: tips and tricks.
- Оптимизации: кодеки данных, TTL, тепловая карта, вычислимые поля.
- Встроенные коннекторы: JDBC, S3, Kafka, Iceberg.
Практика
- Использование Airflow и dbt для разработки пайплайнов на базе ClickHouse.
- Разбор ситуаций, когда ETL в ClickHouse — плохая идея.
- Архитектурные пределы системы и примеры неудачных решений.
- «Скорая помощь» для проблемных архитектур и возможные обходные пути.
- ClickHouse-специфичные практики для инженеров данных.
- Оптимизация запросов на практических примерах обработки больших данных.
- Тюнинг СУБД на уровне кластера, сессии и запроса.
Занятие 5. Аналитика данных в ClickHouse
Вы изучите особенности ClickHouse SQL, дополнительные функции для аналитики, подходы к траблшутингу запросов и практические аналитические кейсы.
- Особенности ClickHouse SQL.
- Функции и аналитические non-ANSI SQL операторы в ClickHouse.
- Что полезно знать аналитикам при работе с ClickHouse.
- Траблшутинг и планирование запросов.
- Что делать, если запрос медленный или завершается ошибкой.
- Кластерный и одиночный ClickHouse с точки зрения написания SQL.
- Tips and tricks для стабильной работы аналитических запросов.
Практика
- Использование дополнительных функций ClickHouse SQL для аналитики.
- Разбор аналитических кейсов.
- Расчет retention-метрик.
- Анализ A/B-тестов на данных в ClickHouse.
Занятие 6. Q&A и advanced-возможности ClickHouse
Финальное занятие отведено под ответы на вопросы участников, разбор сложных сценариев и обсуждение продвинутых возможностей ClickHouse.
- Сессия вопросов и ответов по материалам курса.
- ClickHouse + Lakehouse.
- Iceberg REST и интеграции с современными data lakehouse-архитектурами.
- Новые возможности ClickHouse 26.x и другие актуальные нововведения.
Практический результат после курса
После обучения вы будете лучше понимать внутреннее устройство ClickHouse, сможете проектировать таблицы и кластеры, подключать СУБД к приложениям, оптимизировать хранение и запросы, а также использовать ClickHouse для аналитики больших данных, инженерных пайплайнов и высоконагруженных продуктовых сценариев.