RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2022, том 34, выпуск 4, страницы 101–116 (Mi tisp708)

Настройка критериев планировщика СУБД с учётом динамической компиляции

Е. В. Долгодворовab, Р. А. Бучацкийa, М. В. Пантилимоновa, Д. М. Мельникa

a Институт системного программирования им. В.П. Иванникова РАН
b Московский физико-технический институт

Аннотация: С разработкой динамического компилятора запросов актуальной становится задача настройки критериев оптимизатора и планировщика СУБД для выбора оптимального, с точки зрения динамической компиляции, плана запроса. Необходимость настройки критериев оптимизатора обуславливается тем, что свойства различных моделей выполнения накладывают ограничения на эффективность выполнения плана запроса с использованием определённых узлов-операторов. Так, например, используемая в динамическом компиляторе push-модель даёт преимущество при выполнении запросов с использованием последовательного сканирования. При использовании динамической компиляции сканирование индекса может выполняться значительно менее эффективно, чем последовательное сканирование. Использование в плане вершин сканирования индекса уменьшает ценность метода динамической компиляции. Для преодоления указанных проблем предлагается выполнить настройку оптимизатора СУБД таким образом, чтобы тот оценивал и учитывал эффективность использования некоторых типов узлов при построении плана запроса с его последующей динамической компиляцией. В данной работе рассматривается модификация планировщика PostgreSQL для выбора наиболее эффективного пути выполнения запроса с учётом аппаратных характеристик и различий между интерпретируемой и компилируемой моделями выполнения узлов-операторов.

Ключевые слова: динамическая компиляция, JIT-компиляция, СУБД, PostgreSQL, LLVM, языки запросов, планировщик

DOI: 10.15514/ISPRAS-2022-34(4)-8



© МИАН, 2024