Труды института системного программирования РАН
RUS  ENG    ЖУРНАЛЫ   ПЕРСОНАЛИИ   ОРГАНИЗАЦИИ   КОНФЕРЕНЦИИ   СЕМИНАРЫ   ВИДЕОТЕКА   ПАКЕТ AMSBIB  
Общая информация
Последний выпуск
Архив

Поиск публикаций
Поиск ссылок

RSS
Последний выпуск
Текущие выпуски
Архивные выпуски
Что такое RSS



Труды ИСП РАН:
Год:
Том:
Выпуск:
Страница:
Найти






Персональный вход:
Логин:
Пароль:
Запомнить пароль
Войти
Забыли пароль?
Регистрация


Труды института системного программирования РАН, 2016, том 28, выпуск 4, страницы 217–240
DOI: https://doi.org/10.15514/ISPRAS-2016-28(4)-13
(Mi tisp62)
 

Эта публикация цитируется в 5 научных статьях (всего в 5 статьях)

Динамическая компиляция выражений в SQL-запросах для СУБД PostgreSQL

Е. Ю. Шарыгинa, Р. А. Бучацкийa, Л. В. Скворцовb, Р. А. Жуйковa, Д. М. Мельникa

a Институт системного программирования РАН
b Московский государственный университет имени М.В. Ломоносова
Список литературы:
Аннотация: В последние годы по мере увеличения производительности и роста объема оперативной и внешней памяти производительность СУБД для некоторых классов запросов определяется непосредственно скоростью обработки запросов процессором. В СУБД PostgreSQL для исполнения SQL-запросов традиционно используется механизм интерпретации, который приводит к накладным расходам, например, связанным с множественным ветвлением, неявными вызовами функций-обработчиков и выполнением лишних проверок, которых можно избежать, используя информацию, доступную только во время выполнения запроса. В данной работе рассматривается метод динамической компиляции запросов, в частности, компиляция выражений оператора WHERE и метода последовательного сканирования таблиц SeqScan для СУБД PostgreSQL с помощью компиляторной инфраструктуры LLVM. Рассматривается оптимизация доступа к атрибутам, заключающаяся в вычислении смещений атрибутов кортежа во время компиляции запроса, а также метод автоматической трансляции встроенных функций PostgreSQL во внутреннее представление LLVM IR, что позволяет использовать один и тот же исходный код как для JIT-компилятора, так и для имеющегося интерпретатора. Генерация машинного кода во время выполнения запроса дает возможность избежать накладных расходов традиционной системы интерпретации. Метод реализован в виде расширения к СУБД PostgreSQL и не требует изменения исходного кода СУБД. Результаты проведенного тестирования показывают, что динамическая компиляция запросов с помощью JIT-компилятора LLVM позволяет получить ускорение в несколько раз на синтетических тестах.
Ключевые слова: динамическая компиляция, JIT-компиляция, базы данных, PostgreSQL, LLVM, языки запросов.
Реферативные базы данных:
Тип публикации: Статья
Образец цитирования: Е. Ю. Шарыгин, Р. А. Бучацкий, Л. В. Скворцов, Р. А. Жуйков, Д. М. Мельник, “Динамическая компиляция выражений в SQL-запросах для СУБД PostgreSQL”, Труды ИСП РАН, 28:4 (2016), 217–240
Цитирование в формате AMSBIB
\RBibitem{ShaBucSkv16}
\by Е.~Ю.~Шарыгин, Р.~А.~Бучацкий, Л.~В.~Скворцов, Р.~А.~Жуйков, Д.~М.~Мельник
\paper Динамическая компиляция выражений в SQL-запросах для СУБД PostgreSQL
\jour Труды ИСП РАН
\yr 2016
\vol 28
\issue 4
\pages 217--240
\mathnet{http://mi.mathnet.ru/tisp62}
\crossref{https://doi.org/10.15514/ISPRAS-2016-28(4)-13}
\elib{https://elibrary.ru/item.asp?id=27174148}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp62
  • https://www.mathnet.ru/rus/tisp/v28/i4/p217
  • Эта публикация цитируется в следующих 5 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
    Статистика просмотров:
    Страница аннотации:218
    PDF полного текста:255
    Список литературы:37
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024