После DLC вы сможете собрать и отладить полноценный пайплайн для realtime analytics: забрать изменения из Postgres через CDC, передать их в Kafka, посчитать метрики в ClickHouse и отдать их через API — а также диагностировать типовые поломки по лагу, свежести и контрактам данных.
Кому подойдет этот курс:
middle+ Data Engineer
Какие инструменты освоите:
Что вы сможете после DLC:
- Debezium
- Kafka
- ClickHouse
- PostgreSQL
- FastAPI
- CDC
- Python
- Docker
- Monitoring
- Schema Evolution
- Собрать полный процесс обработки realtime-данных
Вы соберёте сквозной пайплайн от источника до API и сможете объяснить каждое звено: зачем оно нужно и как влияет на остальные.- Проектировать метрики для freshness и SLA
Вы научитесь определять, насколько свежи данные, и строить метрики, по которым видно, выполняется ли SLA по задержке и качеству.- Дебажить инциденты в проде
Дубли, пропущенные события, lag, schema drift, неверные данные — вы научитесь находить причину и восстанавливать пайплайн.
Программа:
- Неделя 1: Realtime mindset, локальный стенд, CDC
Architecture kickoff
ТеорияПрактика
- Что такое realtime analytics в инженерном смысле: latency, freshness, SLA, throughput, correctness
- Типовой prod: CDC → Kafka → OLAP → API
- Где в realtime-пайплайнах возникают ошибки: источник, транспорт, схема, агрегация, serving, monitoring
- Как диагностировать pipeline: lag, offsets, row counts, freshness timestamps, API latency
Поднять локальный docker-compose стенд с Postgres, Kafka, Debezium, ClickHouse, FastAPI. Проверить связь всех компонентов и научиться смотреть логи.
CDC basics
Теория
- CDC: зачем он нужен и чем отличается от batch export
- Debezium: snapshot и streaming
- Семантики insert/update/delete в контексте потоковых данных
- Event envelope, keys, ordering, tombstones
- Эволюция схемы и контракт данных между источником и приёмником
- Неделя 2: Kafka ingestion, надежность событий
Kafka refresher
ТеорияПрактика
- Topics, partitions, offsets, consumer groups
- At-least-once delivery и практические последствия. Другие семантики и их сложности
- Idempotency и дубли на уровне downstream
- Backpressure, in-flight и lag: как возникают и как диагностируются
- Контракты для событий: naming, versioning, required fields
Написать producer/consumer для тестовых событий. Смоделировать задержку consumer и увидеть lag. Добавить тестовые дубли и проверить, как downstream должен на них реагировать.- Неделя 3: ClickHouse, ingestion, realtime-агрегации
OLAP
ТеорияПрактика
- Почему для realtime analytics нужен быстрый OLAP
- Kafka Engine / ingestion pattern в ClickHouse и как его настроить и мониторить
- Raw events vs serving tables, materialized views и incremental aggregation
- Replacing/Summing/AggregatingMergeTree: когда они нужны и где легко ошибиться
- Freshness как часть модели данных
Подключить ClickHouse к Kafka events. Создать raw events table. Построить materialized views для бизнес-метрик. Посчитать метрики по time window, entity, status/event type. Добавить freshness timestamp.- Неделя 4: FastAPI metric service и начало проекта
API
ТеорияПрактика
- Зачем нужен API поверх OLAP, если есть дашборды
- Metric endpoints: filters, grouping, time range, pagination/limits
- Cache: где помогает, где вредит freshness
- API-level freshness checks
- Error semantics: когда отдавать stale response, warning или возвращать ошибку
Реализовать FastAPI service поверх ClickHouse. Добавить endpoints для нескольких метрик. Поддержать time range и group by. Добавить cache для тяжелого запроса. Добавить freshness check.- Неделя 5: Ops drill и продолжение проекта
Дебаг
ТеорияПрактика
- Как дебажить realtime pipeline: подход, системность, сигналы
- Runbook для инцидента: симптом, blast radius, гипотеза, проверки, fix, prevention
- Лаги: source lag, Kafka lag, ClickHouse ingestion lag, API freshness
- Schema drift: что ломается и как увидеть раньше пользователя
- Wrong numbers: как сверять source, raw layer, aggregates и API
Получить заранее сломанный pipeline. Найти причину lag. Найти schema drift и предложить совместимое исправление. Найти причину неправильной метрики. Написать incident note и recovery plan.- Неделя 6: Проверка проекта, демо и защита
Финальная подготовка
ТеорияЗащита проектов
- Как объяснять инженерные решения: latency vs correctness, cost vs freshness, simplicity vs flexibility
- Как презентовать pipeline на собеседовании или внутри команды
- Финальный разбор типовых ошибок перед защитой
Теория
- Demo на тестовых событиях
- Разбор одной поломки и диагностики
- Вопросы по semantics, freshness, duplicates, schema drift
Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
Новые складчины
Категории
Страница 1 из 34
