Главная страница « Спецкурсы «

Спецкурс «Системы управления базами данных. Дополнительные главы»

Лектор: Комаров Владимир Иванович   
Продолжительность: 32 часа (полугодовой)
Аудитория: студенты 4 курса бакалавриата ВМК.
В 2026/27-м уч. г. лекции проходят по средам в 16-20.

Материалы

Новости
Информация
Преподаватели и сотрудники
Студенты и аспиранты
Научно-исследовательский семинар
Спецсеминары
Просеминар
Проекты
Ссылки
Поиск

Аннотация


Курс рассказывает о механизмах, обеспечивающих целостность баз данных и высокую скорость доступа к данным: структурах хранения; методах обработки данных и поиска оптимального выполнения конкретных запросов; механизмах обеспечения целостности — блокировках и версионировании. Кроме того, коснёмся таких тем, как обслуживание промышленных баз данных и обеспечение безопасности. Курс полезен не только тем, кто собирается разрабатывать системы управления базами данных, но и тем, кто просто собирается работать с данными. Понимание внутреннего устройства СУБД позволит правильно выстраивать ожидания от работы с ней.
Автор курса — специалист с 30-летним опытом: программист, администратор БД, инфраструктурный архитектор, автор учебника «Путеводитель по базам данных».


Тематический план курса


Тема 1. История СУБД. Моделирование данных
Возникновение СУБД как класса продуктов. Навигационные СУБД. Реляционная модель. Причины появления новых моделей: горизонтальное масштабирование, специфические методы хранения и обработки данных. Классификация СУБД по моделям данных.

Тема 2. История СУБД. Эволюция хранения
Эволюция аппаратуры, изменение аппаратных ограничений. Подходы к проектированию архитектуры СУБД от 70-х годов до настоящего времени.

Тема 3. Хранение данных. Страничные структуры
Архитектура СУБД со страничной структурой: устройство внешней памяти, буферный кеш, журнал. Неупорядоченная таблица, B-дерево.

Тема 4. Хранение данных. LSM-деревья
Структура LSM-дерева. Проблемы фоновой нагрузки, оптимизации. Дополнительные структуры данных — кеши, индексы, фильтры Блума. Журнал как структура хранения данных.

Тема 5. Колоночное хранение
Идея колоночного хранения. Проекции. Методы сжатия. Подходы к обновлению колоночных данных.

Тема 6. Локализация данных
Секционирование и шардирование. Методы определения фрагмента (range/list/hash/reference). Управление фрагментами — слияние, объединение, тиринг.

Тема 7. Поиск данных
Методы доступа к неупорядоченной таблице: полное сканирование, доступ по физическому идентификатору. B-дерево: unique/range/skip/full/fast full scan. Индексирование. Понятие первичного и вторичного индекса. Индексные структуры: хеш-таблица, B-дерево, битовая карта. Покрывающие индексы. Понятия кардинальности поля и качества индекса (фактор кластеризации).

Тема 8. Соединения
Операция соединения. Алгоритмы nested loops, merge, hash. Выбор лучшего алгоритма.

Тема 9. Оптимизация запроса
Понятие плана запроса. Подходы к оптимизации. Понятие стоимости запроса. Статистика. Управление планами — кеширование, динамическое перепланирование, ручное управление.

Тема 10. Обеспечение целостности данных
Блокировки. Теорема Эсварана. Пессимистический и оптимистический подходы. Управление блокировками. Версионирование данных управления версиями.Журнал транзакций.

Тема 11. Архитектура СУБД
Понятия базы данных и экземпляра, их соотношение. Задачи и устройство экземпляра. Устройство базы данных.

Тема 12. Распределённые СУБД
Понятие распределённой СУБД. CAP-теорема и её критика. PACELC. Подходы к обеспечению целостности данных. Классы распределённых алгоритмов: консенсус, распределённые транзакции, CRDT, компенсация несогласованности.

Тема 13. Распределённые транзакции
2PC, Calvin, сага и их модификации.

Тема 14. Репликация
Типы репликации: блочная, физическая, логическая. Топология репликации. Подходы к логической репликации: триггеры, CDC, прикладная репликация.

Тема 15. Резервное копирование
Подходы к резервированию изменяемых (страничных) и неизменяемых структур. Инкрементальное копирование.

Тема 16. Безопасность баз данных
Ролевая модель доступа. Безопасность на уровне строк. Понятие модели угроз. Шифрование данных. Вспомогательные системы — WAF, DLP, PAM, SIEM.


Литература

  1. Комаров В. И. Путеводитель по базам данных. — М.: ДМК-Пресс, 2024. — 482 с. ISBN 978-5-93700-287-7

  2. Рогов Е. В. PostgreSQL 17 изнутри. — М.: ДМК Пресс, 2025. — 668 с. ISBN 978-5-93700-372-0

  3. Томас Кайт, Дарл Кун. Oracle для профессионалов: архитектура и методики программирования, 3-е изд. Пер. с англ . - М.: Издательский дом Вильямс, 2016. — 960 с. ISBN 978-5-8459-2042-3

  4. Петров Алекс. Распределенные данные. Алгоритмы работы современных систем хранения информации. — СПб.: Питер, 2021. — 336 с. ISBN 978-5-4461-1640-9


  

© Кафедра системного программирования ВМК МГУ.

Обновлено: 7.IX.2016