Детальная информация

Название Нейросетевой оптимизатор планов запросов для PostgreSQL: выпускная квалификационная работа бакалавра: направление 27.03.03 «Системный анализ и управление» ; образовательная программа 27.03.03_01 «Теория и математические методы системного анализа и управления в технических, экономичеcких и социальных системах» = Neural Network Query Plan Optimizer for PostgreSQL
Авторы Басалгин Александр Дмитриевич
Научный руководитель Журавская Анжелика
Организация Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Выходные сведения Санкт-Петербург, 2026
Коллекция Выпускные квалификационные работы ; Общая коллекция
Тематика оптимизация запросов ; планы выполнения SQL ; обучение ранжированию ; нейронные сети ; древовидная свёрточная сеть ; CodeBERT ; PostgreSQL ; Join Order Benchmark ; query optimization ; SQL execution plans ; learning to rank ; neural networks ; tree convolutional network
Тип документа Выпускная квалификационная работа бакалавра
Язык Русский
Уровень высшего образования Бакалавриат
Код специальности ФГОС 27.03.03
Группа специальностей ФГОС 270000 - Управление в технических системах
DOI 10.18720/SPBPU/3/2026/vr/vr26-2756
Права доступа Доступ по паролю из сети Интернет (чтение, печать)
Дополнительно Новинка
Ключ записи ru\spstu\vkr\42631
Дата создания записи 21.08.2026

Разрешенные действия

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа Анонимные пользователи
Сеть Интернет

Данная работа посвящена разработке и исследованию метода автоматического выбора оптимального плана выполнения SQL-запроса с использованием методов машинного обучения, направленного на повышение производительности систем управления базами данных. В ходе исследования были решены следующие задачи: 1) Анализ существующих подходов к оптимизации планов выполнения SQL-запросов, включая методы на основе машинного обучения. 2) Формализация задачи выбора плана выполнения как задачи обучения ранжированию в списковой постановке. 3) Проектирование архитектуры нейросетевого оптимизатора, объединяющей векторизацию SQL-запросов на основе CodeBERT и обработку деревьев планов с помощью двухветвевой древовидной свёрточной сети. 4) Реализация системы сбора обучающих данных на основе набора тестовых запросов Join Order Benchmark с генерацией альтернативных планов через управляющие подсказки планировщику PostgreSQL. 5) Экспериментальное сравнение предложенной модели с базовыми методами по метрикам качества ранжирования и реального времени выполнения запросов. 6) Разработка рекомендаций по применению предложенного подхода в условиях ограниченного объёма обучающих данных. Реализация и эксперименты проводились с использованием базы данных IMDb в рамках набора тестовых запросов Join Order Benchmark, включающего 113 аналитических SQL-запросов различной сложности. Для генерации альтернативных планов применялись управляющие подсказки планировщику PostgreSQL, что позволило сформировать обучающую выборку объёмом более 1800 пар «запрос – план». Анализ проводился методом обучения ранжированию с использованием функций потерь margin hinge и LambdaLoss. В результате разработана нейросетевая модель, обеспечивающая ускорение выполнения запросов в 2,88 раза относительно встроенного оптимизатора PostgreSQL и достигающая 84% от теоретического потолка производительности. Предложенная модель превосходит базовую модель Bao по всем ключевым метрикам ранжирования: NDCG@5 составил 0,808 против 0,746 у Bao, Hit@1 – 0,083 против 0,042. Для достижения данных результатов в работе были использованы следующие программные средства и технологии: язык программирования Python, библиотеки PyTorch, Transformers (HuggingFace), предобученная модель CodeBERT, система управления базами данных PostgreSQL 14, контейнеризация Docker, набор тестовых запросов Join Order Benchmark на основе базы данных IMDb.

This work is devoted to the development and study of a method for automatic selection of the optimal SQL query execution plan using machine learning techniques, aimed at improving the performance of database management systems. The following tasks were addressed in the course of the research: 1) Analysis of existing approaches to SQL query plan optimization, including machine learning-based methods. 2) Formalization of the plan selection problem as a listwise learning-to-rank task. 3) Design of a neural network optimizer architecture combining SQL query vectorization based on CodeBERT and query plan tree processing using a dual-branch tree convolutional network. 4) Implementation of a training data collection system based on the Join Order Benchmark with alternative plan generation via PostgreSQL planner hints. 5) Experimental comparison of the proposed model against baseline methods using ranking quality metrics and actual query execution time. 6) Development of recommendations for applying the proposed approach under limited training data conditions. The implementation and experiments were conducted using the IMDb database within the Join Order Benchmark, comprising 113 analytical SQL queries of varying complexity. Alternative plans were generated using PostgreSQL planner hints, resulting in a training dataset of over 1800 query–plan pairs. The analysis was performed using learning-to-rank methods with margin hinge and LambdaLoss loss functions. As a result, a neural network model was developed that achieves a 2.88× speedup over the built-in PostgreSQL optimizer and reaches 84% of the theoretical performance ceiling. The proposed model outperforms the Bao baseline across all key ranking metrics: NDCG@5 of 0.808 versus 0.746 for Bao, and Hit@1 of 0.083 versus 0.042. The following software tools and technologies were used to achieve these results: Python programming language, PyTorch and Transformers (HuggingFace) libraries, the pretrained CodeBERT model, PostgreSQL 14 database management system, Docker containerization, and the Join Order Benchmark dataset based on the IMDb database.

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все
Прочитать Печать
Интернет Авторизованные пользователи СПбПУ
Прочитать Печать
Интернет Анонимные пользователи
...