course language
course duration
needed to educate
for credit at your university
В этом курсе программист может узнать о деталях реализации внутреннего устройства систем управления базами данных. Курс раскрывает основы профессии разработчика ядра систем управления базами данных, может быть также полезен разработчикам операционных систем, системным архитекторам и широкому кругу инженеров-программистов, заинтересованных в освоении внутреннего устройства РСУБД.
Дисциплина посвящена технологиям хранения и обработки информации на примерах из ядра РСУБД PostgreSQL. Дисциплина является ключевой в профессии разработчика ядра систем управления базами данных и может быть также полезна разработчикам операционных систем, системным архитекторам и широкому кругу инженеров-программистов, заинтересованных в освоении внутреннего устройства РСУБД.
PostgreSQL является наиболее развитой открытой свободной реляционной системой управления базами данных (РСУБД). Она разрабатывается заинтересованными инженерами со всего мира, широко используется коммерческими компаниями (например, Yandex.Почта) и государственными структурами (ФСБ, ФСО, МО). В дисциплине рассматривается применение индексов PostgreSQL, детали их реализации и возможности развития.
Теоретическая часть представлена видеолекциями с тестами для самоконтроля уровня усвоения содержания видеолекции. Каждой теоретической части соответствует практическое занятие, в котором необходимо внести изменения в алгоритмы доступа к данным в исходном коде PostgreSQL и описать полученные эффекты. Для выполнения заданий необходим компьютер или виртуальная машина с ОС Ubuntu Linux 16 LTS.
Информационные ресурсы
https://wiki.postgresql.org/wiki/Main_Page - wiki PostgreSQL
https://postgrespro.ru/docs/postgrespro/9.5 - документация Postgres Pro на русском языке
http://www.sai.msu.su/~megera/postgres/ - Ресурсы О.Бартунов и Ф.Сигаева
Знание языков программирования SQL и ANSI C, системы контроля версий git
Раздел 1. Алгоритмы широкого применения. Информация из этого раздела развивает общие знания о СУБД
Тема 1. Введение в PostgreSQL. Основные идеи и организация исходного кода
Тема 2. Средства разработки запросов и ядра
Тема 3. B-дерево. Концепция, код и анализ запросов
Раздел 2. Специальные алгоритмы. Этот раздел рассказывает о решении конкретных задач, в т.ч. в PostgreSQL
Тема 4. Страничная организация памяти
Тема 5. Write-ahead log. Концепция восстановления после сбоя
Тема 6. Обобщённый древовидный индекс (GiST)
Раздел 3. Специфические алгоритмы. В это разделе рассмотрены алгоритмы, реализованные только в PostgreSQL
Тема 7. Расширения PostgreSQL. сube и smlar
Тема 8. Полнотекстовый поиск. Инверсный индекс (GIN)
Тема 9. Цикл разработки PostgreSQL. Листы рассылки, коммитфесты
В результате освоения дисциплины студент должен:
Знать:
Уметь:
Владеть:
Результатом обучения в рамках дисциплины является формирование у
студента следующих компетенций:
05.13.17 Теоретические основы информатики
05.13.01 Системный анализ
course language
course duration
needed to educate
for credit at your university
Кандидат технических наук
Position: доцент Уральского федерального университета