Магистратура
2025/2026





Data Warehouse и обработка больших данных
Статус:
Курс обязательный (Аналитика больших данных)
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 2 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Паточенко Евгений Анатольевич
Язык:
русский
Кредиты:
3
Контактные часы:
28
Программа дисциплины
Аннотация
В рамках данной дисциплины студенты изучат ключевые темы в области аналитических хранилищ данных DWH в корпоративной среде. Они приобретут углубленное понимание разнообразных типов хранилищ данных и освоят методы коммуникации с командами, ответственными за их управление и обслуживание.
Кроме того, студенты изучат процессы разработки и реализации пайплайнов обработки данных в случае отсутствия специализированного отдела DWH. Это позволит им овладеть востребованными инструментами, такими как Spark, S3 и Clickhouse, предназначенными для работы с большими объемами данных, и обеспечит их способностью независимо обрабатывать сложные задачи обработки данных в корпоративной среде.
Цель освоения дисциплины
- Сформировать у студентов целостное понимание архитектуры современных платформ данных и их компонент.
- Научить использовать инструменты и методологии для проектирования, построения и сопровождения DWH.
- Дать практические навыки работы с современными технологиями обработки данных: S3, Spark, ClickHouse, инструменты проверки качества данных.
- Обеспечить понимание стандартов и лучших практик Data Management, включая безопасность, управление качеством и корпоративное хранение.
- Подготовить студентов к решению практических задач бизнеса через приземление требований на архитектуру и процессы управления данными.
Планируемые результаты обучения
- Студент знает, как устроена архитектура платформы данных
- - понимает, в чем отличие OLTP- и OLAP-систем
- - знает, что такое хранилище данных
- - понимает, в чем отличие DWH и Data Lake
- - знает, что такое Data Lakehouse
- - понимает место ETL/ELT-процессов в архитектуре платформы данных
- - понимает разницу между пакетной и потоковой обработкой данных
- - понимает, для каких задач используется та или иная архитектура
- Студент понимает, как организован процесс работы в команде
- Студент знает, какие существуют популярные инструменты для работы с данными
- Cтудент знает как устроено файловое хранилище S3 и для каких задач подходит
- - Знает что такое S3, как он работает и какие задачи решает
- - Знает основные концепции, которые необходимы для работы с S3: бакет, объект, жизненный цикл
- - Знает особенности, преимущества и недостатки S3
- - Знает, что такое библиотека boto3
- - Студент понимает, как записывать и сохранять данные с помощью boto3 и pandas
- Студент знает для каких задач используется ClickHouse
- Студент знаком с особенностями ClickHouse и понимает, как их использовать
- - может описать особенности Clickhouse
- - понимает, для каких задач подходит CH
- - знает основные концепции CH (и других подобных СУБД)
- - знает, для чего используются движки
- - умеет выбирать движок под задачу
- - знает специфические для CH функции
- Студент умеет писать нетормозящие запросы (= умеет правильно хранить данные в широкой плоской таблице)
- - понимает, как правильно партицировать таблицу
- - понимает, как правильно задавать первичный ключ
- - умеет применять алгоритмы сжатия
- - умеет подбирать оптимальные типы для хранения данных в таблице
- Студент понимает, как избежать частых ошибок использования
- - понимает, что нужно сделать при необходимости вставлять небольшие объемы данных
- - знает, что не стоит использовать предагрегированные данные
- - знает, что нужно денормализовать таблицу перед загрузкой в clickhouse
- Студент умеет создавать материализованные представления в clickhouse и заполнять их данными
- Студент знает, что такое логическая архитектура DWH
- - знает как выглядит общая архитектура DWH и архитектура слоев данных
- - знает какие слои данных существуют внутри DWH и зачем они нужны
- Студент знает, какие варианты строительства DWH бывают и в чем отличие между ними
- - знает что такое DWH по Инману
- - знает что такое DWH по Кимпбалу
- - знает что такое Data Vault и как он работает
- - знает что такое Anchor Modelling и как он работает
- - знает плюсы и минусы разных подходов с точки зрения внесения изменений в данные
- Студент понимает, как работает хранилище данных по методологии Data Mesh
- Студент понимает, какие процессы вокруг данных есть по DAMA DMBOK и понимает, как к ним обращаться
- Cтудент по имеющейся информации о том, как работают с данными в компании, может определить тип архитектуры, подход к проектированию платформы и её слоёв и использовать эти выводы при постановке задачи на команду DWH.
- Студент понимает, в чьей зоне ответственности находится подключение нового источника и создание аналитической витрины
- Студент умеет читать данные из S3 с помощью простых и сложных запросов на Spark, работать с потоками данных на Spark и загружать данные в ClickHouse
- Знает основные определения Data Management и Data Governance и понимает их различия.
- Понимает ключевые практики управления данными (архитектура, моделирование, интеграция, качество, безопасность и др.).
- Знает международные стандарты и фреймворки (TOGAF, Zachman, DAMA DMBok2).
- Понимает роль метаданных, каталогов данных и lineage в управлении данными.
- Знает подходы к обеспечению качества, безопасности и целостности данных.
- Понимает различие между обратимыми и односторонними функциями и их роль в защите данных.
- Знает принципы маскирования данных и умеет применять методы замены, перемешивания, редактирования и разброса.
- Понимает требования к обезличиванию данных и то, что они должны выглядеть реалистично.
- Умеет различать и описывать процессы шифрования и дешифрования, а также роль ключей в этих процессах.
- Различает типы шифрования: симметричное и асимметричное, знает особенности применения private и public ключей.
- Понимает отличия способов применения шифрования: client-side, server-side, end-to-end.
- Знает назначение токенизации и её отличие от маскирования и шифрования.
- Умеет сопоставить методы защиты данных (маскирование, шифрование, токенизация) с обратимыми и необратимыми функциями.
- Знает основные факторы качества данных: ценность, актуальность, полнота, согласованность, доступность, достоверность, надежность.
- Умеет определять метрики качества данных и интерпретировать их в отчетах.
- Знает последствия плохого качества данных для бизнеса (репутационные риски, издержки, ошибки в решениях).
- Умеет описывать и применять правила (rules) для проверки качества данных: по колонкам, наборам колонок, статистикам, функциям измерения, границам разделения качественных и некачественных данных.
- Умеет работать с Quality Report: выделять failed data, clear data, давать общую оценку качества.
- Знает различие между pre validation и post validation в проверках данных.
- Умеет сопоставлять свойства данных с показателями качества (например: актуальность = своевременность обновления, согласованность = связанность данных, полнота = наличие обязательных полей).
- Понимает бизнес-практики повышения качества данных: назначение владельцев данных, внедрение Data Governance, использование мастер-данных, внедрение метрик качества.
- Умеет использовать фреймворки Apache Griffin и PyDeequ для реализации проверки качества данных и формирования отчетов.
- Знает, как использовать инструменты анализа качества данных (например, PyDeequ в связке со Spark) и понимает, что аналогичные подходы применимы в других фреймворках.
- Умеет формулировать и реализовывать проверки качества данных: полнота колонок, уникальность записей, допустимые диапазоны значений, соответствие бизнес-правилам.
- Умеет строить отчёты о качестве данных (Quality Reports) и интерпретировать их результаты для принятия решений.
- Понимает значение валидации данных на разных этапах — от предварительной загрузки до контроля целостности в больших системах.
- Понимает назначение корпоративных хранилищ данных и их роль в задачах машинного обучения, а также отличия от классического DWH.
- Знает ключевые регуляторные требования и принципы управления доступом к корпоративным данным, включая роли Data Steward и Data Labeler.
- Умеет объяснить, как машинное обучение влияет на требования к хранению, обработке и управлению данными в корпоративных системах.
- Разбирается в подходах к работе со структурированными и неструктурированными данными, а также в архитектуре ML-хранилищ и ML-платформ.
- Ориентируется в современных решениях для автоматического обнаружения аномалий, реализации LLM-помощников и корпоративных DS-платформ
Содержание учебной дисциплины
- Архитектура современной платформы данных
- S3: как устроен инструмент и для каких задач подходит
- Как устроен Clickhouse и для каких задач он подходит
- Оптимизация запросов в ClickHouse и типичные ошибки
- Materialized View в ClickHouse (текстовый дополнительный урок)
- Логическая архитектура DWH
- Варианты проектирования DWH: по Инмону и Кимбаллу, Data Vault, Anchor Modelling
- Организация работы DWH
- Процессы вокруг данных по DAMA DMBOK
- Ситуационный кейс: приземлить задачу на DWH с помощью терминов и артефактов
- Проект на Джупитер ноутбуках
- Вебинар "Обзор современных архитектур и подходов к проектированию DWH"
- Data management
- Data Security
- Data Quality
- Практика с Deequ для Data Quality
- Управление корпоративными хранилищами данных для машинного обучения
Элементы контроля
- Домашнее задание к разделам (урокам) 2-16. Квиз на закрепление основных понятий уроков.122 тестовых задания: 2 урок – 8 заданий, 3 урок - 4 задания, 4 урок - 15 заданий, 7 урок - 12 заданий, 8 урок - 19 заданий, 9 урок - 7 заданий, 10 урок - 7 заданий, 11 урок - 28 заданий, 14 урок - 7 заданий, 15 урок - 9 заданий, 16 урок - 6 заданий.
- Домашнее задание к разделам (урокам) 4, 16. Практические задания по темам уроков.24 практические задачи: 4 урок – 3 задания, 5 урок – 24 задания, 11 урок - 4 задания, 17 урок - 1 задание.
- Финальный проект к разделу (уроку) 11. Финальный проект дисциплины.1 финальный проект: 11 урок – 1 проект.
Промежуточная аттестация
- 2025/2026 2nd moduleИтоговая оценка соответствует сумме баллов за выполненные задания на LMS karpov.courses, приведенные к 10-балльной шкале (см. таблицу). Для каждого задания на LMS-платформе karpov.courses определён дедлайн в 14 календарных дней, после наступления которого студенту начисляется 70% от итогового балла за задание.
Список литературы
Рекомендуемая основная литература
- MySQL 8 для больших данных : эффективная обработка данных с помощью MySQL 8, Hadoop, NoSQL API и других инструментов для больших данных, , 2018
Рекомендуемая дополнительная литература
- The Data warehouse lifecycle toolkit : expert methods for designing, developing, and deploying data warehouses, Kimball, R., 1998