Бакалавриат
2024/2025





Научно-исследовательский семинар «Облачные и локальные системы данных»
Статус:
Курс по выбору (Программная инженерия)
Когда читается:
3-й курс, 1-3 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Попов Илья Иванович
Язык:
русский
Программа дисциплины
Аннотация
Дисциплина преподается с целью ознакомления слушателей с подходами к решению бизнес-задач в крупных финансовых организациях с применением методов математического моделирования и анализа данных, приобретения навыков постановки прикладных исследовательских задач, разработки новых подходов и методов анализа данных, а также презентации реализованных решений перед заказчиками.
Цель освоения дисциплины
- формирование у студентов комплекса теоретических знаний и методологических основ в области технологий обработки, хранения, преобразования и визуализации данных (в ходе курса рассматриваются все этапы обработки данных: появление данных в OLTP-системах, их транспорт в OLAP-хранилище, сохранение в сырой слой, нормализация в детальный слой, построение аналитических витрин и отчетов, автоматизация процессов, мониторинг здоровья кластера и системы в целом.)
Планируемые результаты обучения
- Владение общими навыки проектирования структуры хранилищ данных;
- Владение навыками работы с реляционными БД, MPP, DFS-хранилищами;
- Умение строить ETL-процессы, осуществлять потоковую и батчевую обработку данных;
- Умение строить end-to-end архитектуру хранилища данных, администрировать и поддерживать стабильную работу различных программных комплексов;
- Умение строить BI-системы и системы операционного мониторинга.
Содержание учебной дисциплины
- Введение в Data Engineering. Устройство современного дата-пайплайна
- Файловые хранилища. S3-like хранилища. Hadoop-экосистема
- Устройство и основы работы с Apache Spark
- Data Warehousing. Современные архитектуры организации хранилищ данных: Data Vault, Anchor Model, hNhM.
- Очереди и работа с потоками данных: Apache Kafka, Spark Streaming
- MPP СУБД: Greenplum, Vertica, Clickhouse. Особенности устройства и организации вычислений
- Планы запросов. Учимся читать планы запросов на реляционных СУБД и MPP
- ETL / ELT. Правила проектирования ETL-процессов
- Использование данных. BI-системы
- Новые вызовы в DE
Элементы контроля
- Домашняя работа 1- Запустить СУБД PostgreSQL в Docker; - Настроить репликацию данных между двумя хостами PostgreSQL; - Настроить балансировщик запросов pgbouncer; - Написать DDL для партицированой таблицы, написать несколько запросов с типовыми сценариями эксплуатации.
- Домашняя работа 2- Для полученной в ДЗ 1 БД реализовать трансфер данных в MPP / HDFS с помощью Debezium; - В зависимости от выбранной СУБД, разложить данные сервиса в Data Vault (1.0 или 2.0) или якорную модель; - Реализовать брокеры для realtime наполнения OLAP-хранилища.
- Домашняя работа 3- Для полученной в ДЗ 2 системы описать структуру данных в dbt; - Спроектировать несколько витрин данных с помощью dbt; -Реализовать регламентный ETL-процесс с помощью Apache Airflow.
- Домашняя работа 4- Запустить в docker-compose один из предложенных BI-инструментов вместе с СУБД из ДЗ 3; - Собрать один или несколько аналитических дэшбордов; - Запустить в docker-compose Grafana; - Настроить мониторинг потребления ресурсов одним или несколькими настроенными ранее элементами системы.
Промежуточная аттестация
- 2024/2025 3rd module0.25 * Домашняя работа 1 + 0.25 * Домашняя работа 2 + 0.25 * Домашняя работа 3 + 0.25 * Домашняя работа 4
Список литературы
Рекомендуемая основная литература
- Kleppmann, M. (2017). Designing Data-Intensive Applications : The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1487643
- Linstedt, D., & Olschimke, M. (2015). Building a Scalable Data Warehouse with Data Vault 2.0. Amsterdam: Morgan Kaufmann. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1065504
Рекомендуемая дополнительная литература
- DAMA-DMBOK : data management body of knowledge, , 2017
- Kimball, R., & Ross, M. (2013). The Data Warehouse Toolkit : The Definitive Guide to Dimensional Modeling (Vol. 3rd edition). Hoboken, New Jersey: Wiley. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=605991
- White T. Hadoop: The Definitive Guide. - O'Reilly Media, 2015.