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, 2020, Volume 32, Issue 5, Pages 67–80
DOI: https://doi.org/10.15514/ISPRAS-2020-32(5)-5
(Mi tisp544)
 

Dynamic compilation of user-defined functions in PL/pgSQL language

V. M. Dzhidzhoevab, R. A. Buchatskiya, M. V. Pantilimonova, A. N. Tomilinba

a Ivannikov Institute for System Programming of the Russian Academy of Sciences
b Lomonosov Moscow State University
References:
Abstract: Many modern RDBMS provide procedural extensions for SQL programming language, which allow users to perform server-side complex computations. Use of such extensions improves modularity and code reuse, simplifies programming of application logic, and helps developers to avoid network overhead and enhance performance. Interpretation is mostly used to execute SQL queries and procedural extensions code, resulting in significant computational overhead because of indirect function calls and performing of generic checks. Moreover, most RDBMS use different engines for SQL queries execution and procedural extensions code execution, and it is necessary to perform additional computations to switch between different engines. Thus, interpretation of SQL queries combined with interpretation of procedural extensions code may drastically degrade performance of RDBMS. One solution is to use a dynamic compilation technique. In this paper, we describe the technique of dynamic compilation of PL/pgSQL procedural language for the PostgreSQL database system using LLVM compiler infrastructure. Dynamic compiler of PL/pgSQL procedural language is developed as part of PostgreSQL queries dynamic compiler. Proposed technique helps to get rid of computational overhead caused by interpretation usage. Synthetic performance tests show that the developed solution speeds up SQL queries execution by several times.
Keywords: dynamic compilation, JIT-compilation, query execution, UDF, DBMS, PostgreSQL, PL/pgSQL, LLVM.
Funding agency Grant number
Russian Foundation for Basic Research 20-07-00877_а
This work was supported by the Russian Foundation for Basic Research, project № 20-07-00877 А
Document Type: Article
Language: Russian
Citation: V. M. Dzhidzhoev, R. A. Buchatskiy, M. V. Pantilimonov, A. N. Tomilin, “Dynamic compilation of user-defined functions in PL/pgSQL language”, Proceedings of ISP RAS, 32:5 (2020), 67–80
Citation in format AMSBIB
\Bibitem{DzhBucPan20}
\by V.~M.~Dzhidzhoev, R.~A.~Buchatskiy, M.~V.~Pantilimonov, A.~N.~Tomilin
\paper Dynamic compilation of user-defined functions in PL/pgSQL language
\jour Proceedings of ISP RAS
\yr 2020
\vol 32
\issue 5
\pages 67--80
\mathnet{http://mi.mathnet.ru/tisp544}
\crossref{https://doi.org/10.15514/ISPRAS-2020-32(5)-5}
Linking options:
  • https://www.mathnet.ru/eng/tisp544
  • https://www.mathnet.ru/eng/tisp/v32/i5/p67
  • 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:117
    Full-text PDF :96
    References:26
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024