Чему вы научитесь
Вы знаете SQL, но ClickHouse ведёт себя иначе: JOIN тормозит, ORDER BY означает не то, что вы думаете, а запрос на 200 млн строк падает по памяти. Этот курс закрывает разрыв между «читал документацию» и «пишу продакшн-запросы, которые не роняют кластер».
Формат — практикум: 300 задач, более 200 из них — с автопроверкой прямо в браузере: пишете запрос, получаете результат на общих датасетах курса (события веб-аналитики, заказы e-commerce, логи сервиса). Проверяющая система исполняет SQL внутри интерактивного шага и сверяет вывод построчно — ошибка видна сразу.
Что вы будете уметь после курса
- проектировать таблицы MergeTree: ORDER BY как первичный ключ, PARTITION BY, типы данных и кодеки сжатия — и понимать, как это влияет на скорость;
- писать аналитические запросы: агрегаты и условную агрегацию (аналог комбинаторов -If), оконные функции (ROW_NUMBER, LAG/LEAD, накопительные и скользящие агрегаты), разбор массивов через arrayJoin-механику;
- считать воронки и retention: конверсии по шагам, windowFunnel-логика, sequenceMatch-паттерны, возвращаемость день+1/день+2 — то, за что ClickHouse и выбирают;
- соединять и загружать данные: INNER/LEFT/ANY/ASOF/SEMI/ANTI семантика, IN вместо JOIN, словари вместо справочников, S3/Kafka/Postgres, дедупликация ReplacingMergeTree и argMax-паттерном;
- ускорять медленные запросы: читать EXPLAIN indexes, проекции, Materialized Views с -State/-Merge, диагностика по system.query_log и system.parts, разбор типовых ошибок (Memory limit exceeded, Too many parts);
- проходить собеседования: блок с разбором 15 типовых вопросов и интервью-кейсы.
Как устроена автопроверка
Автопроверяемые задачи исполняются SQL-движком внутри шага (общий SQL: GROUP BY, JOIN, подзапросы, оконные функции) — работает в браузере, ничего устанавливать не нужно. ClickHouse-специфичные задания (EXPLAIN, system.*, движки, словари) выполняются в бесплатном SQL Playground (sql.clickhouse.com) или локальном Docker и оформлены задачами со свободным ответом: пришлите запрос и вывод. К каждой задаче — подсказка в условии; эталонные решения открываются после решения шага.
7 модулей, 56 уроков, 300 задач. У конкурентов по ClickHouse — 11–77 практических заданий. Здесь вы пишете сами, с первого урока до сквозного проекта «сырые события → staging → витрины → дашборд».
О курсе
Для кого этот курс
Начальные требования
▶ базовый SQL: SELECT, WHERE, GROUP BY, JOIN (любой вводный курс SQL)
▶ желателен минимальный опыт с аналитикой данных (метрики, дашборды)
▶ браузер — больше ничего: все задачи решаются прямо на Stepik, базы уже развёрнуты
Преподаватели курса
Как проходит обучение
▶ короткая теория → сразу практика: 300 задач, темп и расписание — свои
▶ SQL-задачи проверяются мгновенно: на каждом шаге своя база данных, запрос выполняется на реальном движке
▶ задачи «на подумать» (проектирование, оптимизация) — с примерами хорошего ответа
▶ вопросы можно задавать в комментариях под каждым шагом