Скачать Realtime Analytics [NEWPROLAB] [Игорь Мосягин]

Джокер

Администратор
Регистрация
1 Янв 2015
Сообщения
141.814
Реакции
77.911
Складчина: Realtime Analytics [NEWPROLAB] [Игорь Мосягин]




После DLC вы сможете собрать и отладить полноценный пайплайн для realtime analytics: забрать изменения из Postgres через CDC, передать их в Kafka, посчитать метрики в ClickHouse и отдать их через API — а также диагностировать типовые поломки по лагу, свежести и контрактам данных.

Кому подойдет этот курс:
middle+ Data Engineer

Какие инструменты освоите:

Debezium
Kafka
ClickHouse
PostgreSQL
FastAPI
CDC
Python
Docker
Monitoring
Schema Evolution
Что вы сможете после DLC:

Собрать полный процесс обработки 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







СКАЧАТЬ СЛИВЫ КУРСОВ