Детальная информация
| Название | Разработка системы автоматического подбора индексов для реляционных баз данных: выпускная квалификационная работа бакалавра: направление 09.03.03 «Прикладная информатика» ; образовательная программа 09.03.03_03 «Интеллектуальные инфокоммуникационные технологии» = Development of an Automated Index Selection System for Relational Databases |
|---|---|
| Авторы | Диденко Анна Алексеевна |
| Научный руководитель | Резединова Евгения Юрьевна |
| Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Выходные сведения | Санкт-Петербург, 2026 |
| Коллекция | Выпускные квалификационные работы ; Общая коллекция |
| Тематика | автоматизированный подбор индексов ; PostgreSQL ; анализ SQL-запросов ; оптимизация производительности ; разработка ПО ; automated index selection ; SQL analysis ; performance optimization ; software development |
| Тип документа | Выпускная квалификационная работа бакалавра |
| Язык | Русский |
| Уровень высшего образования | Бакалавриат |
| Код специальности ФГОС | 09.03.03 |
| Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-6115 |
| Права доступа | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Дополнительно | Новинка |
| Ключ записи | ru\spstu\vkr\45618 |
| Дата создания записи | 10.09.2026 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
| Группа | Анонимные пользователи |
|---|---|
| Сеть | Интернет |
Объектом исследования являются процессы оптимизации реляционных баз данных за счет подбора индексов. Цель работы состоит в разработке прототипа, который анализирует PostgreSQL-схему, индексы, статистику и SQL-запросы для формирования рекомендаций. В работе использована методология прикладной разработки: выполнен обзор подходов к автоматизации индексирования, сформулирована техническая задача и спроектирована архитектура. Для генерации рекомендаций применен комбинированный подход, учитывающий запросы, индексы, статистику PostgreSQL и полезность кандидатов. Разработана архитектура системы анализа SQL-запросов и генерации рекомендаций. Реализован прототип с анализом нагрузки, генерацией и фильтрацией кандидатов, ранжированием, SQL-командами и JSON-выводом. Проведены unit-тесты, интеграционные тесты с PostgreSQL и проверка на e– commerce нагрузке. При разработке использованы Go, PostgreSQL, SQL, pgx, pg_query_go, JSON, CLI-интерфейс, Docker, Git, unit- и integration-тестирование. Результаты работы могут применяться при разработке, тестировании и сопровождении PostgreSQL-приложений для оценки полезности индексов. Прототип также может служить основой внутренних инструментов администраторов БД. Разработанный прототип подтверждает применимость выбранного подхода к автоматизированному подбору индексов для PostgreSQL. Анализ нагрузки и статистики БД позволяет формировать интерпретируемые рекомендации, а модульная архитектура поддерживает развитие советника индексов.
The research object is the optimization of relational databases through index selection. The goal is to develop a prototype that analyzes a PostgreSQL schema, indexes, statistics, and SQL queries to form recommendations. The work uses an applied development methodology: approaches to index automation are reviewed, the technical task is formulated, and the architecture is designed. A combined recommendation approach is used, taking into account queries, indexes, PostgreSQL statistics, and candidate usefulness. A system architecture for SQL-query analysis and recommendation generation is developed. The prototype supports workload analysis, candidate generation and filtering, ranking, SQL commands, and JSON output. Unit tests, integration tests with PostgreSQL, and an e-commerce workload check are performed. The following technologies are used: Go, PostgreSQL, SQL, pgx, pg_query_go, JSON, CLI interface, Docker, Git, unit and integration testing. The results can be applied in the development, testing, and maintenance of PostgreSQL applications to evaluate index usefulness. The prototype can also serve as a basis for internal tools for database administrators. The developed prototype confirms the applicability of the selected approach to automated index selection for PostgreSQL. Workload and database statistics analysis makes it possible to form interpretable recommendations, while the modular architecture supports further development of the index advisor.
| Место доступа | Группа пользователей | Действие |
|---|---|---|
| Локальная сеть ИБК СПбПУ | Все |
|
| Интернет | Авторизованные пользователи СПбПУ |
|
| Интернет | Анонимные пользователи |
|
- Разработка системы автоматического подбора индексов для реляционных баз данных
- Введение
- 1. Обзор имеющихся решений и исследований в указанной области
- 2. Критерии сравнения и подбор инструментальных средств на их основе
- 3. Формулирование задачи и гипотезы её решения
- 4. Проектирование системы автоматизированного подбора индексов
- 5. Разработка программного решения
- 6. Тестирование и экспериментальная проверка разработанной системы
- Заключение
- Список использованных источников
- Приложение 1 Исходный код точки входа и обработки входных SQL-запросов
- Приложение 2 Исходный код модулей генерации и оценки индексов