Курс на Stepik
Обложка курса «DWH для дата-инженера» на Stepik
Бесплатно

DWH для дата-инженера ★ 5.000

Открыть на
STEPIK.ORG

DWH для дата-инженера: PostgreSQL 16, Kimball, SCD, ETL/ELT, Data Vault 2.0, качество данных, оптимизация, governance и итоговое хранилище интернет-магазина.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «DWH для дата-инженера»Учеников на курсе 29
Сертификаты, выданные на курсе «DWH для дата-инженера»Сертификатов выдано 0
Отзывы о курсе «DWH для дата-инженера»Отзывов получено 1
Рейтинг курса «DWH для дата-инженера»Рейтинг курса 5.000
Уроки в курсе «DWH для дата-инженера»Количество уроков 167
Тесты в курсе «DWH для дата-инженера»Количество квизов 642
Время прохождения курса «DWH для дата-инженера»Время прохождения курса —
Обновления курса «DWH для дата-инженера»Обновления курса — —
Дата публикации курса «DWH для дата-инженера»Дата публикации курса — ———
Последнее обновление курса «DWH для дата-инженера»Последнее обновление — ———
Сложность normal — ———

Содержание курса

Разделы в курсе «DWH для дата-инженера» 24 раздела Уроки в курсе «DWH для дата-инженера» 167 уроков Тесты в курсе «DWH для дата-инженера» 642 теста Время прохождения курса «DWH для дата-инженера» 0 ч. Последнее обновление курса «DWH для дата-инженера» обн. 19 июля 2026

Модуль 1. Введение в Data Warehouse

6 уроков
1. О курсе: как проходить обучение и канал «Логово Дата-Инженера» ↗
2. Зачем нужно Data Warehouse: почему аналитику не делают на… ↗
3. OLTP против OLAP: две разные вселенные работы с данными ↗
4. История DWH: от Кодда и Kimball до современных озёр и Lakehouse ↗
5. Кто такой DWH-инженер и чем он отличается от обычного… ↗
6. Карта курса: от первой размерной модели до продакшн-хранилища ↗

Модуль 2. Данные и бизнес-процессы

7 уроков
1. Бизнес-процесс как источник данных: что мы измеряем и зачем ↗
2. Событие и его атрибуты: что произошло, когда и с кем ↗
3. Измерение: кто, что, где, когда — контекст события ↗
4. Факт: числовая мера бизнес-события ↗
5. Зерно: на каком уровне детализации хранится факт ↗
6. Метрика и KPI: от сырых фактов к бизнес-показателям ↗
7. Декомпозиция требований: от вопроса бизнеса к структуре данных ↗

Модуль 3. Реляционная база для DWH

8 уроков
1. Установка PostgreSQL 16 и первый запуск psql ↗
2. Таблицы и схемы: CREATE TABLE, DROP, ALTER — первые команды DDL ↗
3. Типы данных для аналитики: INT, NUMERIC, VARCHAR, DATE… ↗
4. Первичные и внешние ключи: целостность на уровне базы данных ↗
5. Нормализация: 1NF, 2NF, 3NF — зачем нужна и какой ценой… ↗
6. Индексы: B-tree, как они ускоряют SELECT и замедляют INSERT ↗
7. EXPLAIN и план запроса: читаем, что PostgreSQL делает под… ↗
8. Практикум: проектируем схему учёта продаж в третьей… ↗

Модуль 4. SQL для аналитика

8 уроков
1. SELECT, FROM, WHERE: базовый каркас любого аналитического… ↗
2. GROUP BY и HAVING: агрегация строк и фильтрация групп ↗
3. JOIN глубоко: INNER, LEFT, RIGHT, FULL, CROSS — когда и зачем ↗
4. Подзапросы: в SELECT, FROM, WHERE — correlated и uncorrelated ↗
5. UNION, INTERSECT, EXCEPT: теория множеств средствами SQL ↗
6. Оконные функции: OVER, PARTITION BY, ORDER BY и рамки окна ↗
7. CTE и рекурсивные запросы: WITH … AS — читаемый и мощный SQL ↗
8. Аналитические агрегаты: FILTER, GROUPING SETS, ROLLUP, CUBE ↗

Модуль 5. ETL-основы

6 уроков
1. Что такое ETL и чем отличается ELT: извлечение… ↗
2. Staging-слой: временная зона для сырых данных перед… ↗
3. Трансформация данных: очистка, приведение типов, обогащение ↗
4. Загрузка в DWH: INSERT, COPY и FOREIGN TABLE — обзор подходов ↗
5. Инкрементальная загрузка против полной: когда что выбирать ↗
6. Простой ETL-пайплайн на Python и PostgreSQL: от идеи до… ↗

Модуль 6. Размерное моделирование

7 уроков
1. Что такое размерная модель и почему она сделана «для людей» ↗
2. Схема «звезда»: одна таблица фактов в окружении измерений ↗
3. Схема «снежинка»: нормализованные измерения и когда они… ↗
4. Факты и измерения: как отличить одно от другого в любой… ↗
5. Суррогатные ключи: зачем нужны и почему бизнес-ключ не годится ↗
6. Зерно факта: самая важная декларация в размерном моделировании ↗
7. Аддитивность фактов: что можно складывать, а что нельзя ↗

Модуль 7. Таблицы фактов

8 уроков
1. Транзакционные факты: одна строка — одно бизнес-событие ↗
2. Периодические снимки: состояние на определённый момент времени ↗
3. Накопительные снимки: отслеживаем жизненный цикл процесса ↗
4. Бесфактовые факты: события без числовых мер — когда они нужны ↗
5. Дегенеративные измерения: когда атрибут факта не заслуживает… ↗
6. Факты с разным зерном: несколько уровней детализации в одной… ↗
7. Выбор зерна факта: практические критерии и неизбежные… ↗
8. Проектируем таблицы фактов для интернет-магазина: сквозной… ↗

Модуль 8. Измерения

7 уроков
1. Conformed dimensions: единые измерения для всего хранилища… ↗
2. Role-playing dimensions: одно измерение в нескольких ролях —… ↗
3. Junk dimensions: корзина для флажков и низкокардинальных… ↗
4. Degenerate dimensions в таблице фактов: когда измерение… ↗
5. Проблема Slowly Changing Dimensions: почему атрибуты меняются… ↗
6. Mini-dimensions: выносим часто меняющиеся атрибуты в… ↗
7. Outriggers: когда одно измерение ссылается на другое —… ↗

Модуль 9. Slowly Changing Dimensions

8 уроков
1. SCD Type 0: сохраняем как было — атрибут фиксируется навсегда ↗
2. SCD Type 1: перезаписываем значение — история теряется ↗
3. SCD Type 2: добавляем новую строку — храним полную историю… ↗
4. Суррогатные ключи для SCD2: почему business key не… ↗
5. Effective dates и current flag: как определить актуальную версию ↗
6. SCD Type 3: добавляем колонку для предыдущего значения —… ↗
7. SCD Type 4, 5, 6, 7: гибридные подходы и ситуации, в которых… ↗
8. Выбор SCD-стратегии: практическое руководство по компромиссам ↗

Модуль 10. Иерархии и связи многие-ко-многим

7 уроков
1. Иерархии родитель-потомок: классическая модель дерева в одной… ↗
2. Ragged hierarchies: когда глубина дерева разная в разных ветках ↗
3. Bridge tables: моделирование связи многие-ко-многим в… ↗
4. Многие-ко-многим между фактами и измерениями: когда одной… ↗
5. Рекурсивные CTE для обхода иерархий любой глубины ↗
6. Пути в иерархии: materialized path и nested sets — обзор… ↗
7. Проектируем иерархию продуктов: от категории до SKU ↗

Модуль 11. Проектирование DWH

8 уроков
1. Bus Matrix: главный инструмент архитектора хранилища данных ↗
2. Четыре шага Kimball: от бизнес-процесса до готовой размерной… ↗
3. Декларация зерна: как не ошибиться в самом важном решении ↗
4. Conformed dimensions на практике: договариваемся о единых… ↗
5. Data profiling: изучаем источник данных перед проектированием ↗
6. Source-to-target mapping: документируем путь данных от… ↗
7. Проектируем DWH интернет-магазина: полный сквозной пример ↗
8. Антипаттерны размерного моделирования: типичные ошибки и как… ↗

Модуль 12. Staging и загрузка данных

7 уроков
1. Архитектура staging-слоя: full refresh против incremental… ↗
2. Полная загрузка: когда можно просто перезалить всё и не думать ↗
3. Инкрементальная загрузка: high-water mark и журналы изменений ↗
4. Change Data Capture: триггеры, логи транзакций и Debezium —… ↗
5. Дедупликация на staging: как не размножить данные при… ↗
6. Late-arriving facts: что делать с транзакциями, пришедшими с… ↗
7. Late-arriving dimensions: когда справочник обновляется позже… ↗

Модуль 13. Трансформация данных

7 уроков
1. Очистка данных: trim, NULL-обработка, некорректные форматы и… ↗
2. Нормализация значений: единые справочники, маппинги, синонимы ↗
3. Дедупликация в размерной модели: методы поиска и устранения… ↗
4. Lookup-обогащение: подстановка суррогатных ключей из измерений ↗
5. Агрегация: от сырых фактов к предрасчитанным витринам ↗
6. Стратегии генерации и присвоения суррогатных ключей ↗
7. Обработка ошибок трансформации: логирование, dead-letter и… ↗

Модуль 14. Качество данных

7 уроков
1. Измерения качества данных: полнота, точность… ↗
2. Полнота: проверяем, что все ожидаемые данные действительно… ↗
3. Точность: сверяем суммы и количество строк с источником ↗
4. Согласованность: единые форматы, допустимые диапазоны и… ↗
5. Своевременность: мониторинг отставания загрузки от расписания ↗
6. Уникальность: проверка на дубликаты первичных ключей в DWH ↗
7. Фреймворк DQ-проверок: пишем переиспользуемые тесты качества… ↗

Модуль 15. Оркестрация и ETL-фреймворки

7 уроков
1. Зачем нужна оркестрация: зависимости задач, расписания и… ↗
2. DAG загрузки: направленный ациклический граф зависимостей ↗
3. Расписания и триггеры: cron-выражения, сенсоры и событийный… ↗
4. Retry и backoff: стратегии поведения при падении пайплайна ↗
5. Backfill: как перезалить исторические данные и не сломать… ↗
6. Apache Airflow: архитектура, DAG, Operator — первый запуск и… ↗
7. dbt: трансформация как код — модели, тесты и документация данных ↗

Модуль 16. Оптимизация DWH

7 уроков
1. Партиционирование: делим большие таблицы по дате или ключу ↗
2. Индексы для DWH: какие индексы действительно нужны фактам и… ↗
3. Материализованные представления: кэшируем предрасчитанные… ↗
4. Строчное и колоночное хранение: почему ориентация данных… ↗
5. Parquet и ORC: колоночные форматы вне базы данных — как они… ↗
6. Сжатие данных: типы компрессии и их влияние на скорость запросов ↗
7. VACUUM и ANALYZE: как PostgreSQL управляет дисковым… ↗

Модуль 17. Методология Inmon и 3NF-хранилище

5 уроков
1. Философия Билла Инмона: EDW как единый источник корпоративной… ↗
2. Нормализация до 3NF: почему Inmon настаивает на нормальной… ↗
3. Data Mart поверх EDW: витрины как проекции для… ↗
4. Inmon против Kimball: детальное сравнение двух школ — не… ↗
5. Гибридные подходы: когда и как взять лучшее из обоих миров ↗

Модуль 18. Data Vault 2.0

7 уроков
1. Что такое Data Vault и какую проблему он решает: гибкость и… ↗
2. Hub: бизнес-ключ как центр вселенной — храним только… ↗
3. Link: связь между хабами — отношение, а не атрибут ↗
4. Satellite: все атрибуты и их полная история во времени ↗
5. Hash keys: почему Data Vault строит первичные ключи из… ↗
6. PIT-таблицы и Bridge-таблицы: ускоряем запросы к Data Vault ↗
7. Raw Vault против Business Vault: где живут бизнес-правила и… ↗

Модуль 19. Сравнение методологий и выбор архитектуры

6 уроков
1. Kimball против Inmon против Data Vault: сводная таблица… ↗
2. Критерии выбора: размер команды, скорость изменений и… ↗
3. Гибридные архитектуры: Kimball-витрины поверх Data Vault или… ↗
4. Case study: выбираем и обосновываем архитектуру DWH для… ↗
5. Case study: выбираем архитектуру хранилища для банковской… ↗
6. Эволюция архитектуры: когда и как переезжать с одной… ↗

Модуль 20. Data Lake и Lakehouse

8 уроков
1. Что такое Data Lake и почему озеро данных — не просто свалка… ↗
2. Облачные хранилища: Amazon S3, Google Cloud Storage, Azure… ↗
3. Форматы файлов для аналитики: Parquet, Avro, ORC — обзор и… ↗
4. Табличные форматы: Apache Iceberg, Delta Lake и Apache Hudi —… ↗
5. Medallion Architecture: Bronze → Silver → Gold — слои… ↗
6. Schema evolution: как менять схему без перезаписи петабайтов… ↗
7. Time travel: запрос данных на любой момент в прошлом — как… ↗
8. Lakehouse: когда озеро данных становится полноценным хранилищем ↗

Модуль 21. Облачные DWH-платформы

6 уроков
1. Облачные хранилища данных: зачем компании массово уходят в… ↗
2. Snowflake: разделение storage и compute — архитектура и… ↗
3. Google BigQuery: serverless, слоты и Dremel под капотом ↗
4. Amazon Redshift: колоночное хранение, ключи распределения и… ↗
5. ClickHouse: колоночная СУБД для real-time аналитики — когда и… ↗
6. Выбор облачного DWH: сравниваем по стоимости, скорости и… ↗

Модуль 22. Observability и data governance

7 уроков
1. Data lineage: отслеживаем происхождение данных от источника… ↗
2. Data catalog: Amundsen, DataHub, Apache Atlas — поиск и… ↗
3. Data ownership: кто отвечает за качество этих данных и как… ↗
4. SLA и SLO для данных: формализуем ожидания бизнеса от хранилища ↗
5. Freshness monitoring: как вовремя узнать, что данные устарели ↗
6. Reconciliation: сверка источника и хранилища — всё ли совпадает ↗
7. Alerting: когда, как и кого оповещать о проблемах с данными ↗

Модуль 23. Безопасность и комплаенс в DWH

6 уроков
1. Ролевая модель доступа (RBAC): кто и что может видеть в… ↗
2. Маскирование данных: скрываем чувствительную информацию на лету ↗
3. Row-level security: фильтрация строк на основе роли пользователя ↗
4. GDPR и персональные данные: право на забвение в хранилище данных ↗
5. Audit logging: полный журнал — кто, когда и какой запрос… ↗
6. Шифрование данных: at rest и in transit — защита на диске и в… ↗

Модуль 24. Итоговый проект: DWH интернет-магазина

7 уроков
1. Постановка задачи: интернет-магазин — источники, требования и… ↗
2. Проектирование архитектуры: bus matrix, зерно, измерения и факты ↗
3. Реализация слоёв данных: staging, core DWH (звезда) и data marts ↗
4. ETL-пайплайны: инкрементальная загрузка, трансформации и… ↗
5. Витрины и аналитика: ключевые отчёты для бизнес-пользователей ↗
6. Тестирование и приёмка: сверка, проверки качества и защита… ↗
7. Дорожная карта: Data Mesh, real-time DWH и дальнейший… ↗