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




Разработка систем управления базами данных
Статус:
Курс по выбору (Прикладная математика и информатика)
Кто читает:
Базовая кафедра Т-Банка
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
5
Контактные часы:
56
Программа дисциплины
Аннотация
Курс состоит из трех частей, в рамках которых будут получены ответы на следующие вопросы:
Как хранить данные на диске? Как организовать данные и метаданные, чтобы поддерживать эффективный доступ? Как не испортить данные, если посреди запроса может отключиться питание?
Как исполнять запросы при конкурентности, не нарушая физической и логической целостности данных? Каких гарантий может быть достаточно пользователю? Как достигать эффективного исполнения при слабых гарантиях?
Какие структуры данных позволяют эффективно выполнять SQL запросы? Как эти структуры данных реализованы?
В качестве домашних заданий необходимо будет на C++ реализовывать компоненты СУБД или структуры данных, используемые в СУБД.
Курс будет полезен тем, кто заинтересован в системном программировании или просто хочет лучше понимать, как же устроены системы хранения данных.
Цель освоения дисциплины
- Знать, как СУБД хранит данные; какие плюсы и минусы есть у разных способов организации данных.
- Уметь отказоустойчиво сохранять данные.
- Знать, какие структуры данных используются при исполнении запросов
- Понимать, почему тот или иной запрос исполняется быстро или медленно.
- Понимать, какие гарантии может предоставлять СУБД.
- Знать, как предоставляемые гарантии сказываются на производительности.
- Увидеть, как знания из алгоритмов и операционных систем применяются на практике.
Планируемые результаты обучения
- Знать, как СУБД хранит данные; какие плюсы и минусы есть у разных способов организации данных.
- Уметь отказоустойчиво сохранять данные.
- Знать, какие структуры данных используются при исполнении запросов.
- Понимать, почему тот или иной запрос исполняется быстро или медленно.
- Понимать, какие гарантии может предоставлять СУБД.
- Знать, как предоставляемые гарантии сказываются на производительности.
- Увидеть, как знания из алгоритмов и операционных систем применяются на практике.
Содержание учебной дисциплины
- Предназначение СУБД; Реляционная модель, язык SQL
- Построчное хранение данных; Буферный пул
- B-дерево; Log Structured Merge Tree
- Колоночное хранение данных. Индексы. Фильтры
- Журнал предзаписи; Восстановление СУБД
- Concurrency Control 1; Concurrency Control 2
- Concurrency Control 3; Concurrency Control 4
- Многопоточное B-дерево; Типы данных и функции
- Хеш-таблицы в СУБД; Сортировки в СУБД
- Алгоритмы Join; Исполнение запросов
- Оптимизатор запросов, rule-based подход; Оптимизатор запросов, cost-based подход
- Парсинг SQL запросов; Параллельное исполнение запросов
- Модульность СУБД; Расширяемость PostgreSQL
- Реальные системы 1; Реальные системы 2
Промежуточная аттестация
- 2025/2026 2nd moduleИтог = Округление(0.75 * ДЗ + 0.25 * Экз + min(1, Бонус)), где ДЗ — оценка за домашние задания, Экз — оценка за экзамен, Бонус — бонусные баллы. По согласованию с преподавателем возможно получить бонусные баллы за вклад в проекты с открытым исходным кодом, связанные с системами хранения данных Каждая задача из ДЗ имеет некоторый вес. Оценка за ДЗ = 10 * суммарный вес решенных задач / общий вес задач. Округляется только итоговая оценка, округление арифметическое.
Список литературы
Рекомендуемая основная литература
- 24314 - PostgreSQL изнутри - Е.Рогов - ДМК Пресс - 2022 - https://hse.alpinadigital.ru/document/24314 - Alpina
- 9781492040309 - Alex Petrov - Database Internals : A Deep Dive Into How Distributed Data Systems Work - 2019 - O'Reilly Media - http://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=2250514 - nlebk - 2250514
Рекомендуемая дополнительная литература
- Petrov, A., & O’Reilly for Higher Education (Firm). (2019). Database Internals : A Deep Dive Into How Distributed Data Systems Work (Vol. First edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2250514