2025/2026





Системы хранения данных
Статус:
Маго-лего
Где читается:
Факультет компьютерных наук
Когда читается:
1, 2 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Касьяненко Дарья Алексеевна
Язык:
русский
Кредиты:
6
Контактные часы:
40
Программа дисциплины
Аннотация
Курс предоставляет студентам углубленные знания о различных архитектурах и типах систем хранения данных, а также о базах данных и хранилищах данных для обработки больших объемов информации. Особое внимание уделяется современным тенденциям в области хранения данных, включая облачные решения и инфраструктуру как код. Студенты получат возможность изучить методы оптимизации производительности систем хранения данных, включая настройку индексов, запросов и конфигураций баз данных. Они также узнают о принципах обеспечения отказоустойчивости, высокой доступности и масштабируемости систем хранения. Курс также включает в себя практические задания, в ходе которых студенты будут разрабатывать и настраивать системы хранения данных, а также проводить анализ и оптимизацию существующих хранилищ данных.
Цель освоения дисциплины
- Формирование знаний, умений и навыков проектирования и администрирования хранилищ данных (ХД)
- Формирование знаний, умений и навыков разработки приложений (внешних интерфейсов) ХД
- Формирование знаний, умений и навыков использования средств многомерного анализа данных класса OLAP.
Планируемые результаты обучения
- - различать основные типы систем хранения данных: реляционные базы данных (RDBMS), хранилища данных (DWH), Data Lake, Lakehouse
- - выбирать подходящее хранилище данных в зависимости от задач бизнеса или аналитики
- - визуализировать архитектуру хранения данных для бизнес-кейсов
- -описывать ключевые подходы к проектированию DWH: Inmon (центрированное на всей компании хранилище) и Kimball (доменные витрины данных, «снизу вверх»)
- -оценивать влияние выбранной архитектуры на производительность операций, масштабируемость и поддерживаемость
- -готовить проектные решения
- -работать с конкретными сценариями использования различных подходов (Inmon, Kimball) в условиях ограниченных ресурсов или быстрорастущих данных
- -определять факты и измерения применительно к различным бизнес-сценариям, формулировать требования к аналитике
- -проектировать базовые размерные модели для кейсов бизнеса
- -создавать схемы “звезда” и “снежинка” для типовых задач, выделять и связывать таблицы фактов и измерений
- -анализировать бизнес-кейсы и выбирать оптимальный уровень детализации (grain) для хранения данных
- -оценивать производительность аналитических запросов и находить способы ее улучшения через корректировку модели
- -различать и визуализировать компоненты Data Vault (хабы, линк-таблицы, сателлиты) в архитектуре хранилища для заданных бизнес-сценариев
- -определять, какие данные должны быть хабами, какие — линками, а какие — сателлитами при моделировании нового источника информации
- -проектировать схему Data Vault для простых кейсов (например, добавление новой системы учёта клиентов или транзакций
- -оценивать, когда и почему Data Vault предпочтительнее классического подхода
- создавать и запускать проекты DBT
- писать кастомные SQL-модели для трансформации данных
- -реализовывать тестирование моделей данных
- документировать и визуализировать инфраструктуру данных
- -выполнять базовый анализ качества данных на предоставленных наборах данных
- -использовать методы выявления ошибок и аномалий в данных, включая автоматические и ручные проверки
- -применять техники исправления ошибок: очистка данных, удаление дубликатов, заполнение пропусков и корректировка форматов
- -документировать обнаруженные проблемы и методы их решения для последующего контроля качества данных
- -конфигурировать и визуализировать архитектуру Greenplum, идентифицировать роли компонентов (мастер-узел, сегменты)
- -загружать данные в Greenplum, используя стандартные инструменты и лучшие практики для распределенных систем
- -выполнять аналитические запросы с учётом распределённой структуры данных, оптимизировать простые SELECT-запросы
- -анализировать планы выполнения запросов и применять базовые методы оптимизации
- -решать задачи масштабирования путем добавления сегментов и повышения параллелизма в вычислениях
- -конфигурировать и использовать Clickhouse для загрузки данных
- -выполнять эффективные SQL-запросы для аналитики, выбирая только нужные столбцы для минимизации нагрузки
- -анализировать планы выполнения запросов и применять основные методы оптимизации
- -проводить оптимизацию простых процессов загрузки и запросов
- -использовать возможности параллельной обработки и сжатия данных
- -использовать данные и инфраструктуру DWH для подготовки наборов данных, необходимых для обучения ML-моделей
- -писать простые SQL-запросы и скрипты для извлечения признаков (feature engineering) из данных DWH
- -анализировать примеры внедрения ML-процессов с DWH, указывать на возможные риски и ограничения
- -различать и выбирать подходящие облачные DWH-сервисы в зависимости от требований бизнеса и технических условий
- -планировать архитектуру облачного DWH с учетом специфики масштабирования, обработки данных и интеграции с внешними источниками
- -выполнять базовые операции по загрузке, трансформации и запросам данных в облачных DWH
- -конфигурировать управление доступом и безопасности данных в облачной среде
- -использовать инструменты мониторинга и оптимизации расходов и производительности облачного DWH
- -определять виды данных для хранения и выбирать подходы к организации и классификации данных в Data Lake
- -планировать структуру Data Lake под конкретные задачи и типы данных, учитывая требования к хранению и доступу
- -анализировать проблемные места в управлении Data Lake, предлагать решения по обеспечению качества, безопасности и оптимальному хранению
- -визуализировать архитектуру Data Lake с учетом уровней и зон хранения данных
- -выбирать формат хранения данных в зависимости от сценария
- -выполнять операции с файлами в выбранных форматах, включая загрузку, трансформацию и оптимизацию хранения
- -настраивать схемы, управлять эволюцией данных, понимать влияние структуры данных на производительность запросов
- -визуализировать архитектуру Data Lake с учетом используемых форматов и зон хранения данных
- -запускать базовые задачи пакетной обработки на Apache Spark, используя SparkSession и SQL для трансформации данных
- -создавать и выполнять простые потоковые задачи на Apache Flink с использованием DataStream API и SQL
- -использовать API Spark и Flink для чтения, фильтрации и записи данных в различные слои Data Lake (например, Raw, Cleansed)
- -анализировать и выбирать подходящий тип обработки (пакетная или потоковая) и архитектурный паттерн для конкретных бизнес- и технических задач
- -писать SQL-запросы для анализа данных в Hadoop с использованием Hive, Presto и Trino
- -оптимизировать запросы с учётом особенностей работы инструментов
- -использовать функции и расширения, специфичные для Hive, Presto и Trino, для решения практических задач
- -анализировать планы выполнения запросов, выявлять узкие места и применять методы оптимизации
- -создавать и запускать простые ML-пайплайны с использованием Spark MLlib
- -использовать API Spark для обработки больших наборов данных из Data Lake, эффективно управляя вычислительными ресурсами
- -организовывать ведение экспериментов, логирование параметров и результатов моделей с помощью MLflow
- -управлять версиями моделей, регистрировать и извлекать модели из MLflow Model Registry для последующего использования и мониторинга
- -демонстрировать интеграцию ML-процессов с Data Lake, обеспечивая гибкость, масштабируемость и воспроизводимость
- -настраивать и работать с Apache Kafka для публикации и потребления сообщений
- -использовать CDC для потоковой фиксации и передачи изменений из баз данных
- -создавать приложения на Spark Streaming для микропакетной обработки данных и преобразования потоков
- -запускать задачи потоковой обработки в Apache Flink
- -использовать DataStream API для трансформации и агрегации данных
- -конфигурировать Kerberos для организации безопасной аутентификации в распределённой среде
- -работать с Apache Atlas для каталогизации данных, назначения метаданных безопасности и мониторинга соответствия политикам
- -выполнять базовые операции аудита доступа и действий пользователей для обеспечения безопасности и регуляторных требований
Содержание учебной дисциплины
- Введение в современные хранилища данных
- Основы DWH
- Размерное моделирование
- Data Vault
- Data Build Tool
- Качество данных
- Greenplum
- Clickhouse
- ML в DWH
- DWH в облаках
- Организация Data Lake
- Форматы хранения в Data Lake
- Обработка данных в Data Lakе
- SQL в Hadoop
- ML в Data Lake
- Streaming
- Безопасность и управление доступом
Элементы контроля
- Задание с проверкой от преподавателя по модулю 1
- Задание с проверкой от преподавателя по модулю 2
- Задание с самопроверкой по чек-листу
- Тесты
Промежуточная аттестация
- 2025/2026 2nd module0.4 * Задание с проверкой от преподавателя по модулю 1 + 0.4 * Задание с проверкой от преподавателя по модулю 2 + 0.1 * Задание с самопроверкой по чек-листу + 0.1 * Тесты
Список литературы
Рекомендуемая основная литература
- Дадян Э.Г. - Данные: хранение и обработка - 978-5-16-015663-7 - НИЦ ИНФРА-М - 2024 - https://znanium.ru/catalog/product/2149045 - 2149045 - ZNANIUM
- Макшанов, А. В. Большие данные. Big Data / А. В. Макшанов, А. Е. Журавлев, Л. Н. Тындыкарь. — 3-е изд., стер. — Санкт-Петербург : Лань, 2023. — 188 с. — ISBN 978-5-507-46866-9. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/322664 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Толстобров, А. П. Управление данными : учебник для вузов / А. П. Толстобров. — 3-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2025. — 272 с. — (Высшее образование). — ISBN 978-5-534-14162-7. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/567678 (дата обращения: 04.07.2025).
Рекомендуемая дополнительная литература
- Rajaraman, A., & Ullman, J. D. (2012). Mining of Massive Datasets. New York, N.Y.: Cambridge University Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=408850
- Железнов, М. М. Методы и технологии обработки больших данных : учебно-методическое пособие / М. М. Железнов. — Москва : МИСИ – МГСУ, 2020. — 46 с. — ISBN 978-5-7264-2193-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/145102 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.