• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2026/2027

Современные технологии хранения данных

Статус: Маго-лего
Когда читается: 1, 2 модуль
Охват аудитории: для всех кампусов НИУ ВШЭ
Язык: русский
Кредиты: 6
Контактные часы: 40

Программа дисциплины

Аннотация

Курс посвящен современным технологиям хранения и обработки данных в масштабе. Рассматриваются архитектурные подходы к построению хранилищ данных: от реляционных СУБД и Data Warehouse к концепциям Data Lake и Lakehouse на основе облачных объектных хранилищ и открытых табличных форматов (Apache Iceberg, Delta Lake). Изучаются инструменты аналитической обработки данных — PostgreSQL, ClickHouse и MPP-системы, Apache Spark — и построение современных ELT-пайплайнов с использованием Apache Airflow и dbt. Отдельное внимание уделяется потоковой обработке данных (Apache Kafka, Spark Streaming), захвату изменений (CDC, Debezium) и контролю качества данных. Курс также охватывает алгоритмические основы анализа больших данных: приближенные методы (MinHash, LSH, SimHash), распределенную кластеризацию и классификацию (K-Means, XGBoost на Spark), рекомендательные системы на основе матричной факторизации (ALS). Практическая составляющая курса реализована через работу с реальными наборами данных в среде PySpark, ClickHouse и Kafka.
Цель освоения дисциплины

Цель освоения дисциплины

  • Освоение современного стека технологий хранения, интеграции и распределенной обработки данных, а также алгоритмических методов анализа больших данных, необходимых для проектирования и эксплуатации масштабируемых data-платформ.
Планируемые результаты обучения

Планируемые результаты обучения

  • Студенты знают принципы проектирования корпоративных хранилищ данных (DWH): слоистую архитектуру (Raw/ODS/DDS/витрины), подходы к моделированию (схемы «звезда» и «снежинка» по Kimball, Data Vault 2.0, SCD). Понимают парадигму ELT и умеют строить пайплайны данных с использованием Apache Airflow и dbt.
  • Знает внутреннее устройство PostgreSQL: механизмы MVCC, WAL, индексы, секционирование, репликацию (Patroni). Владеют навыками администрирования, оптимизации запросов (EXPLAIN/ANALYZE) и обеспечения высокой доступности PostgreSQL.
  • Студенты знают принципы колоночного хранения и архитектуру ClickHouse (семейство движков MergeTree, материализованные представления, интеграции с внешними системами). Понимают отличия OLAP-колоночных СУБД от строковых и их место относительно класса NoSQL. Знают принципы массивно-параллельных систем (MPP) на примере Greenplum/Arenadata DB.
  • Студенты знают архитектуру Apache Spark (драйвер, executors, менеджер ресурсов) и модели данных RDD/DataFrame/Dataset. Понимают принципы потоковой обработки данных: архитектуру Apache Kafka, гарантии доставки сообщений, захват изменений (CDC, Debezium). Ориентируются в смежных технологиях (Apache Flink, Cassandra, MongoDB, NewSQL) как контексте выбора технологии под задачу.
  • Студенты владеют навыками контроля качества данных: умеют применять инструменты проверок (Great Expectations / Soda) и понимают концепцию контрактов данных.
  • Студенты понимают фундаментальные ограничения алгоритмов на больших данных: однопроходные алгоритмы, модель BSP, приближенные методы, сложность по коммуникациям и памяти. Знают классические задачи анализа больших данных: кластеризацию, классификацию, рекомендательные системы, приближенный подсчет.
  • Студенты знают методы поиска похожих элементов: меру Жаккара, MinHash, Locality-Sensitive Hashing (LSH), SimHash. Умеют применять их для обнаружения дубликатов и кластеризации текстовых данных в распределенной среде.
  • Студенты знают алгоритмы распределенной кластеризации (K-Means, K-Means++, BIRCH, DBSCAN) и их реализации в среде Apache Spark (PySpark, Spark MLlib).
  • Студенты знают методы распределенной классификации: логистическую регрессию с SGD, случайные леса и XGBoost на Spark. Владеют навыками настройки гиперпараметров через кросс-валидацию, оценки качества моделей на больших данных и анализа кривых обучения.
  • Студенты понимают принципы матричной факторизации и алгоритма ALS (Alternating Least Squares) для построения рекомендательных систем. Умеют настраивать и оценивать модель ALS на реальных данных, включая обработку холодного старта и оценку качества по метрикам precision@k, recall@k, MAP.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Архитектура хранилищ данных: от Data Lake к Lakehouse
  • Системная аналитика и моделирование DWH. ELT-пайплайны
  • PostgreSQL как DWH-движок и администрирование
  • Колоночная аналитика: ClickHouse и MPP-системы
  • Распределенная и потоковая обработка данных. Качество данных
  • Введение в алгоритмы анализа больших данных
  • Поиск похожих элементов и Locality-Sensitive Hashing (LSH)
  • Кластеризация
  • Классификация в распределенной среде
  • Рекомендательные системы (ALS)
Элементы контроля

Элементы контроля

  • неблокирующий Домашние задания 1-4
  • неблокирующий Тест 1
    Описание: Тест будет дан для проверки изученного материала во время семинара.
  • неблокирующий Домашние задания 5-7
  • неблокирующий Тест 2
    Тест будет дан для проверки изученного материала во время семинара.
  • блокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • 2026/2027 2nd module
    Домашнее задание: SUM(Домашние задания 1-4) * 0,500 + Домашнее задание: SUM(Домашние задания 5-7) * 0,200 + Тест: SUM(Тесты 1-2) * 0.100 + Экзамен: Практическая работа* 0.200
Список литературы

Список литературы

Рекомендуемая основная литература

  • 22561 - Spark в действии - Ж.Перрен - ДМК Пресс - 9785970608791 - 2021 - https://hse.alpinadigital.ru/document/22561 - Alpina
  • 24347 - Оптимизация запросов в PostgreSQL - А.Бейликова; Б.Новиков; Г.Домбровская - ДМК Пресс - 2022 - https://hse.alpinadigital.ru/document/24347 - Alpina
  • 33905 - Kafka в действии - В.Гамов; Д.Клейн; Д.Скотт - ДМК Пресс - 9785937001184 - 2022 - https://hse.alpinadigital.ru/document/33905 - Alpina
  • Apache Kafka. Потоковая обработка и анализ данных. 2-е изд. - 978-5-4461-2288-2 - Гвен Шапира, Тодд Палино, Раджини Сиварам, Крит Петти - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/products/390221 - 390221 - iBOOKS
  • ASP.NET Core : разработка приложений MVC, Docker, Azure, Visual Studio, C#, JavaScript, TypeScript и Entity, Чамберс, Дж., 2018
  • Computer Science : основы программирования на Java, ООП, алгоритмы и струкуры данных, Седжвик, Р., 2018
  • DAMA-DMBOK: свод знаний по управлению данными, , 2023
  • Kafka Streams и ksqlDB : данные в реальном времени, Сеймур, М., 2023
  • Kafka в действии, Скотт, Д., 2022
  • PostgreSQL. Разработка баз данных : учебник / М. Ф. Ванина, А. Г. Ерохин, Н. В. Тутова [и др.]. — Москва : Русайнс, 2024. — 227 с. — ISBN 978-5-466-06974-7. — URL: https://book.ru/book/954200 (дата обращения: 09.12.2025). — Текст : электронный.
  • RESTful Web API. Паттерны и практики. - 978-601-08-4867-2 - Амундсен Майк - 2025 - Астана: Спринт Бук - https://ibooks.ru/products/399817 - 399817 - iBOOKS
  • Spark для профессионалов : современные паттерны обработки больших данных, , 2017
  • Автоматизация проектирования вычислительных систем. Языки, моделирование и базы данных, , 1979
  • Базы данных : курс лекций и материалы для практических занятий, Карпова, И. П., 2013
  • Базы данных. Проектирование моделей данных : учебник для вузов, Гринченко, Н. Н., 2024
  • Введение в системный анализ, , 2017
  • Введение в теорию систем и системный анализ : Учебно-методическое пособие, Рейнов, Ю.И., 2007
  • Изучаем Spark : молниеносный анализ данных, Карау, Х., 2015
  • Карпентер, Д. Cassandra. Полное руководство : руководство / Д. Карпентер, Э. Хьюитт , перевод с английского А. А. Слинкина. — 2-е изд. — Москва : ДМК Пресс, 2017. — 400 с. — ISBN 978-5-97060-453-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/93577 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Малков, О. Б. Работа с СУБД PostgreSQL : учебное пособие / О. Б. Малков, М. П. Маркова, М. В. Девятерикова. — Омск : ОмГТУ, 2023. — 175 с. — ISBN 978-5-8149-3707-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/421547 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Мартишин С.А., Симонов В.Л., Храпченко М.В. - Базы данных: Работа с распределенными базами данных и файловыми системами на примере MongoDB и HDFS с использованием Node.js, Express.js, Apache Spark и Scala - 978-5-16-015133-5 - НИЦ ИНФРА-М - 2023 - https://znanium.ru/catalog/document?id=416159 - 416159 - ZNANIUM
  • Наместников, А. М. Базы данных. Практический курс : учебное пособие : в 2 частях / А. М. Наместников. — Ульяновск : УлГТУ, 2017 — Часть 1 : Объектно-реляционные базы данных на примере PostgreSQL 9.5 — 2017. — 113 с. — ISBN 978-5-9795-1743-8. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/165100 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Пользовательские истории : искусство гибкой разработки ПО, Паттон, Дж., 2019
  • Разработка базы данных общего назначения с моделью, обеспечивающей малое время ответа : дис. ... канд. технических наук : 05.13.01, Долгов, Д. Н., 1981
  • Реляционные базы данных. Практические приемы оптимальных решений - 5-94157-551-3 - Мирошниченко Г. - 2005 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/products/335139 - 335139 - iBOOKS
  • Романова, И. П. Базы данных: работа с PostgreSQL : учебное пособие / И. П. Романова, П. С. Романов. — Москва : МУИВ, 2023. — 193 с. — ISBN 978-5-9580-0705-9. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/443078 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Саймон, Р. Администрирование PostgreSQL 9. Книга рецептов : руководство / Р. Саймон, К. Ханну , перевод Е. В. Самохвалова. — Москва : ДМК Пресс, 2013. — 368 с. — ISBN 978-5-94074-750-5. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/39995 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Создание микросервисов. 2-е изд. . - 978-5-4461-1145-9 - Ньюмен Сэм - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/products/390019 - 390019 - iBOOKS
  • Шёниг, Г. -. PostgreSQL 11. Мастерство разработки / Г. -. Шёниг , перевод с английского А. А. Слинкина. — Москва : ДМК Пресс, 2020. — 352 с. — ISBN 978-5-97060-671-1. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/131714 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

Рекомендуемая дополнительная литература

  • Agile : оценка и планирование проектов, Кон, М., 2021
  • Beginning PHP5, Apache, and MySQL web development, , 2005
  • Carpenter, J., & Hewitt, E. (2016). Cassandra: The Definitive Guide : Distributed Data at Web Scale (Vol. Second edition). Sebastopol, CA: Reilly - O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1271661
  • DAMA-DMBOK : data management body of knowledge, , 2017
  • Data analysis and approximate models : model choice, location-scale, analysis of variance, nonparametric regression and image analysis, Davies, L., 2014
  • Digital restoration from start to finish : how to repair old and damaged photographs, Ctein, ., 2017
  • Ilya Ganelin, Ema Orhian, Kai Sasaki, & Brennon York. (2016). Spark : Big Data Cluster Computing in Production. Wiley.
  • Jules S. Damji, Brooke Wenig, Tathagata Das, & Denny Lee. (2020). Learning Spark. O’Reilly Media.
  • Kafka : a guide for the perplexed, Koelb, C., 2010
  • Lin, J., & Dyer, C. (2010). Data-Intensive Text Processing with MapReduce. Morgan & Claypool Publishers.
  • Nabi, Z. (2016). Pro Spark Streaming : The Zen of Real-Time Analytics Using Apache Spark. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1174432
  • Narkhede, N., Shapira, G., & Palino, T. (2016). Kafka: The Definitive Guide : Real-Time Data and Stream Processing at Scale: Vol. First edition. O’Reilly Media.
  • Адаптивные алгоритмы управления распределением нагрузки в многосерверных системах : дис. ... канд. технических наук : 05.13.15, Калашников, Е. И., 2010
  • Администрирование Microsoft SQL Server 2000 : учеб. курс MCSA/MCSE, MCDBA: экзамен 70-228: офиц. пособие Microsoft для самостоят. подгот., , 2006
  • Алгоритмы : введение в разработку и анализ, Левитин, А. В., 2018
  • Алгоритмы : разработка и применение, Клейнберг, Дж., 2018
  • Большие данные : принципы и практика построения масштабируемых систем обработки данных в реальном времени, Марц, Н., 2017
  • Большие данные : революция, которая изменит то, как мы живем, работаем и мыслим, Майер-Шенбергер, В., 2014
  • Большие данные в образовании: анализ данных как основание принятия управленческих решений : сб. науч. ст. I Международной конференции, 15 окт. 2020 г., Москва, , 2020
  • Введение в реляционные базы данных, Кириллов, В. В., 2012
  • Мартишин С.А., Симонов В.Л., Храпченко М.В. - Базы данных: Работа с распределенными базами данных и файловыми системами на примере MongoDB и HDFS с использованием Node.js, Express.js, Apache Spark и Scala - 978-5-16-019845-3 - НИЦ ИНФРА-М - 2026 - https://znanium.ru/catalog/document?id=465934 - 465934 - ZNANIUM
  • Системы базы данных : полный курс : пер. с англ., Гарсиа-Молина, Г., 2003

Авторы

  • Титова Наталия Николаевна
  • Юнышева Анастасия Владимировна
  • Сластников Сергей Александрович