Realtime Analytics — практический DLC для инженеров данных, которые хотят собрать полноценный пайплайн аналитики в реальном времени: забрать изменения из PostgreSQL через CDC, передать события в Kafka, посчитать метрики в ClickHouse и отдать результат через FastAPI. После прохождения вы сможете не только поднять стек, но и диагностировать типовые поломки по lag, freshness, SLA и контрактам данных.
Кому подойдёт курс по realtime analytics
Подойдёт
- Выпускникам core-программы, которые хотят сделать следующий практический шаг в data engineering.
- Middle и middle+ Data Engineer, которые уже сталкиваются с
Kafka, CDC, ClickHouse или realtime-метриками. - Backend- и data-инженерам, которым начали передавать задачи по аналитике в реальном времени.
- Инженерам, которым важно понимать не только как «поднять стек», но и как он ломается в реальных условиях.
- Специалистам, которые хотят уверенно обсуждать freshness, lag, data contracts, SLA и восстановление пайплайна после инцидентов.
Не подойдёт
- Тем, кто только начинает изучать data engineering и ещё не работал с SQL, Python и Docker.
- Тем, кто ищет курс по BI, визуальному дизайну дашбордов или продуктовой аналитике.
- Тем, кому нужен глубокий теоретический курс по Flink, Spark Streaming или математике стриминга.
- Тем, кто не готов регулярно дебажить локальное окружение, читать логи и разбираться с ошибками инфраструктуры.
Что вы сможете после DLC
Собрать end-to-end пайплайн realtime-данных
Вы соберёте сквозной процесс обработки данных: от изменения в базе-источнике до готовой метрики в API. Будете понимать, какую роль играют PostgreSQL, Debezium, Kafka, ClickHouse и FastAPI, а также как сбой одного компонента влияет на весь pipeline.
Настроить CDC из PostgreSQL
Вы научитесь забирать изменения из PostgreSQL через Change Data Capture: работать с логической репликацией, initial snapshot, insert/update/delete событиями, ключами сообщений и event envelope.
Считать realtime-метрики в ClickHouse
Вы подключите поток событий из Kafka к ClickHouse, создадите raw layer, materialized views и агрегаты по временным окнам, статусам и сущностям. Отдельное внимание уделяется freshness timestamp и проверке задержки обновления данных.
Проектировать freshness и SLA
Вы научитесь определять, насколько свежи данные, какие метрики показывают отставание пайплайна и как понять, выполняется ли SLA по задержке и качеству данных.
Дебажить инциденты в продакшен-подобной среде
Дубли, пропущенные события, consumer lag, schema drift, неверные агрегаты и устаревшие данные в кеше — вы разберёте типовые причины таких проблем и научитесь восстанавливать пайплайн после сбоя.
Архитектура пайплайна аналитики в реальном времени
На курсе вы соберёте стек, который принимает, передаёт, обрабатывает и отдаёт данные с минимальной задержкой. Вместо ночных batch-обработок данные проходят через pipeline непрерывно, а метрики обновляются близко к реальному времени.
Схема обработки данных
- PostgreSQL — источник операционных данных.
- Debezium — CDC-коннектор, который читает изменения из базы.
- Kafka — брокер событий и транспортный слой пайплайна.
- ClickHouse — аналитическое хранилище для быстрых агрегаций.
- FastAPI — API-слой для доступа к метрикам из приложений и дашбордов.
Ключевые части стека
Change Data Capture
Вы перехватываете изменения в PostgreSQL и отправляете их в Kafka как события. Это позволяет строить аналитику без постоянного полного перечитывания таблиц.
Event Streaming
Kafka управляет потоком событий, хранит сообщения в топиках, позволяет масштабировать потребителей и контролировать lag. Вы разберёте, как данные движутся по топикам и как проверять, что события действительно доходят до downstream-систем.
Real-time Aggregations
ClickHouse принимает потоковые данные, хранит raw events и считает агрегаты через materialized views. Вы научитесь строить метрики, которые можно использовать в API, мониторинге и аналитических интерфейсах.
API Layer
FastAPI предоставляет endpoints для получения метрик из ClickHouse. Вы добавите фильтры, группировки, пагинацию, кеширование и обработку ошибок, чтобы API было пригодно для реального использования.
Программа: 4 лабораторные работы
Каждая лабораторная работа — это практическая задача с кодом, локальным окружением и автоматической проверкой. Вы не просто смотрите на готовый pipeline, а сами настраиваете компоненты, запускаете тестовые события и исправляете ошибки.
1. CDC-основы на PostgreSQL
Вы настроите Debezium-коннектор с логической репликацией PostgreSQL, снимете initial snapshot, пройдёте insert/update/delete события и разберёте event envelope, keys и базовую schema evolution без downtime.
Что проверяет чекер
- Коннектор создан с правильными параметрами.
Kafka topics содержат ожидаемые события.- Snapshot и новые изменения различимы.
- Update и delete отражаются корректно.
2. Real-time агрегации в ClickHouse
Вы подключите события из Kafka в ClickHouse через Kafka Engine, создадите raw events table и materialized views для бизнес-метрик. Затем посчитаете агрегаты по time window, entity и status, добавите freshness timestamp и проверите задержку обновления.
Что проверяет чекер
- Таблицы и materialized views созданы с ожидаемой структурой.
- Тестовые события попадают в raw layer.
- Агрегаты совпадают с expected values.
- Повторная отправка событий не ломает инварианты.
3. FastAPI metric service
Вы реализуете сервис на FastAPI поверх ClickHouse с endpoints для метрик. Добавите поддержку фильтров, time range, group by, pagination, кеширование тяжёлых запросов и freshness checks с корректной обработкой ошибок.
Что проверяет чекер
- API возвращает ожидаемую JSON-схему.
- Метрики совпадают с expected result в
ClickHouse. - Фильтры и группировки работают корректно.
- Кеш не отдаёт устаревший результат за пределами SLA.
4. Ops drill: диагностика и восстановление
Вы получите заранее сломанный pipeline и найдёте причины lag, schema drift и неправильных метрик. После восстановления напишете incident note с root cause analysis и recovery plan — так, как это делают при разборе реального инцидента.
Что проверяет чекер
- Pipeline восстановлен, проверки пайплайна проходят.
- Контрольные метрики совпадают с expected values.
- Freshness снова находится в пределах SLA.
- Schema drift не ломает downstream на тестовом наборе.
Что нужно знать заранее
Программа рассчитана на инженеров уровня middle и выше. Чтобы сразу включиться в работу, важно уверенно чувствовать себя в Python, SQL и локальной инфраструктуре.
Python
Вы будете писать сервисы и обработчики на Python. Пригодится уверенное знание синтаксиса, классов, исключений и асинхронного кода на async/await.
SQL
Вы будете писать запросы к PostgreSQL и ClickHouse. Нужно понимать join'ы, агрегации, оконные функции и уметь самостоятельно проверять корректность результата.
Linux и Docker
Вы будете поднимать локальное окружение в Docker и работать через командную строку: запускать docker-compose, читать логи контейнеров, проверять конфиги и разбираться, почему сервис не стартует.
Самопроверка: вам точно подойдёт, если
- Вы писали хотя бы один сервис на Python и понимаете, что такое
async/await. - Вы можете самостоятельно поднять
docker-compose и разобраться, почему контейнер не стартует. - Вы хотя бы раз сталкивались с
Kafka, CDC, ClickHouse или realtime-метриками — пусть и поверхностно. - Вы готовы тратить 8–12 часов в неделю на протяжении 6 недель и регулярно дебажить.
Чем этот курс отличается
- Практический фокус: вы собираете рабочий пайплайн, а не изучаете только теорию стриминга.
- Продакшен-мышление: в программе есть lag, schema drift, freshness, SLA, кеширование и incident response.
- Проверяемый результат: лабораторные работы проходят через чекер, который проверяет структуру, данные и поведение системы.
- Реальный стек:
PostgreSQL, Debezium, Kafka, ClickHouse и FastAPI часто встречаются в задачах data engineering.
FAQ
Это курс по Kafka?
Нет. Kafka — важная часть пайплайна, но курс шире: вы проходите весь путь от CDC в PostgreSQL до метрик в ClickHouse и API на FastAPI.
Будет ли глубокая теория стриминга?
Курс ориентирован на практику. Вы разберёте ключевые понятия, необходимые для работы с realtime analytics, но фокус будет на сборке, проверке и отладке пайплайна.
Нужен ли опыт с ClickHouse?
Глубокий опыт не обязателен, но важно уверенно знать SQL и понимать, как работают агрегации. На курсе вы будете создавать таблицы, materialized views и проверять корректность метрик.
Что будет итоговым результатом?
Итоговый результат — рабочий end-to-end pipeline для аналитики в реальном времени, который принимает изменения из PostgreSQL, передаёт их через Kafka, считает метрики в ClickHouse и отдаёт их через API.