Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2016, Volume 28, Issue 6, Pages 37–48
DOI: https://doi.org/10.15514/ISPRAS-2016-28(6)-3
(Mi tisp83)
 

This article is cited in 5 scientific papers (total in 5 papers)

Dynamic compilation of SQL queries for PostgreSQL

R. A. Buchatskiya, E. Y. Sharyginab, L. V. Skvortsovb, R. A. Zhuykova, D. M. Melnika, R. V. Baevc

a Institute for System Programming of the Russian Academy of Sciences
b Lomonosov Moscow State University, CMC Department
c Moscow Institute of Physics and Technology (State University)
Full-text PDF (889 kB) Citations (5)
References:
Abstract: In recent years, as performance and capacity of main and external memory grow, performance of database management systems (DBMSes) on certain kinds of queries is more determined by raw CPU speed. Currently, PostgreSQL uses the interpreter to execute SQL queries. This yields an overhead caused by indirect calls to handler functions and runtime checks, which could be avoided if the query were compiled into native code "on-the-fly", i.e. just-in-time (JIT) compiled: at run time the specific table structure is known as well as data types and built-in functions used in the query as well as the query itself. This is especially important for complex queries, performance of which is CPU-bound. We have developed a PostgreSQL extension that implements SQL query JIT compilation using LLVM compiler infrastructure. In this paper we show how to implement LLVM-analogues of the main operators of the PostgreSQL, how to replace Volcano iterator model abstraction (open(), next(), close()) by the abstraction that is more suitable to generate code for a particular query. Currently, with LLVM JIT we achieve up to 4.3x speedup on TPC-H Q1 query as compared to original PostgreSQL interpreter.
Keywords: dynamic compilation, just-in-time compilation, database management system engines, PostgreSQL, LLVM, query languages.
Bibliographic databases:
Document Type: Article
Language: Russian
Citation: R. A. Buchatskiy, E. Y. Sharygin, L. V. Skvortsov, R. A. Zhuykov, D. M. Melnik, R. V. Baev, “Dynamic compilation of SQL queries for PostgreSQL”, Proceedings of ISP RAS, 28:6 (2016), 37–48
Citation in format AMSBIB
\Bibitem{BucShaSkv16}
\by R.~A.~Buchatskiy, E.~Y.~Sharygin, L.~V.~Skvortsov, R.~A.~Zhuykov, D.~M.~Melnik, R.~V.~Baev
\paper Dynamic compilation of SQL queries for PostgreSQL
\jour Proceedings of ISP RAS
\yr 2016
\vol 28
\issue 6
\pages 37--48
\mathnet{http://mi.mathnet.ru/tisp83}
\crossref{https://doi.org/10.15514/ISPRAS-2016-28(6)-3}
\elib{https://elibrary.ru/item.asp?id=27679167}
Linking options:
  • https://www.mathnet.ru/eng/tisp83
  • https://www.mathnet.ru/eng/tisp/v28/i6/p37
  • This publication is cited in the following 5 articles:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:347
    Full-text PDF :276
    References:26
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024