
Формат: цифровые практические инженерные воркшопы Слушатели: дата инженеры и аналитики данных Совкомбанк Длительность: 4 дня Домен: Финтех / Банковская сфера Уровень: Middle+ (опыт работы с данными обязателен)
Работа с ClickHouse на масштабах банка — это не просто «написать SQL-запрос». Это ежедневные вызовы:
- Запросы работают минуты, хотя должны — миллисекунды. Где узкое место?
- JOIN на миллиардах строк превращается в час ожидания. Как победить?
- Данные текут рекой, а витрины устаревают ещё до того, как построятся.
- Непонятно, какой движок таблицы выбрать, чтобы завтра не переписывать всё с нуля.
Формат обучения
- 80% времени — практика за компьютером
- Обучение на учебной платформе ClickHouse с подготовленными генеративными
данными, повторяющими структуру реальных банковских сценариев и витрин - Кейсы приближены к боевым: обезличенные данные по кредитным
рейтингам, банковским картам и транзакциям - Нет риска для продакшена — экспериментируем в изолированной среде
- Разбор реальных запросов и ситуаций
Модули программы
- MergeTree — базовый движок для большинства задач
- Как работает слияние кусков (parts) и почему это важно?
- Когда использовать MergeTree, а когда — другие разновидности.
- Сравнение производительности.
- ReplacingMergeTree — для данных с дубликатами
- SummingMergeTree, AggregatingMergeTree и другие агрегационные движки.
- Дополнительные свойства создания таблиц. Партицирование. Сортировка и первичный ключ. Гранулярность
- Что такое гранулы и индексный интервал?
- Как настроить гранулярность для оптимальной производительности?
- Формат хранения даты и времени
- Научиться работать с ClickHouse из Python-кода.
- Виртуальные таблицы и материализованные представления (COMPUTE pipeline)
- Table Constraints и индексы. Типы индексов в ClickHouse и когда они нужны.
- Ограничения целостности данных (CHECK, NOT NULL).
- URLEngine: чтение данных по URL.
- KafkaEngine: подключение к потокам Kafka.
- MySQL / PostgreSQL Engine: чтение данных из внешних БД.
- Использование Dictionary (словари)
- Сравнение производительности: JSON vs Dictionary.
- Оптимизация JOIN-запросов. Оптимизация по памяти и порядку чтения
- EXPLAIN — как понять план выполнения запроса. Что такое EXPLAIN, EXPLAIN AST, EXPLAIN PIPELINE
- Временные таблицы и CTE
- Сложные структуры данных: Tuple, Map, JSON, массивы, сводные таблицы
- Продвинутая агрегация и аналитика в OLAP. От GROUP BY до оконных функций
