RUS  ENG
Full version
JOURNALS // Proceedings of the Institute for System Programming of the RAS // Archive

Proceedings of ISP RAS, 2022 Volume 34, Issue 4, Pages 101–116 (Mi tisp708)

JIT-aware DBMS planner configuration

E. V. Dolgodvorovab, R. A. Buchatskiya, M. V. Pantilimonova, D. M. Melnika

a Ivannikov Institute for System Programming of the RAS
b Moscow Institute of Physics and Technology

Abstract: Dynamic compilation of certain operator compositions might have a drastic impact on overall query performance, but not be considered during optimal query plan selection by DBMS planner due to lack of knowledge. To tackle this problem, we propose to extend cost model with criteria that make dynamic compilation overhead relevant. The necessity to set up the optimizer criteria is due to the fact that the properties of various execution models impose restrictions on the efficiency of query plan execution using certain operator nodes. For example, the push-model used in the dynamic compiler is advantageous when executing queries using sequential scan. So, dynamic compilation makes sequential scan more efficient than index scan. Using index nodes in such a plan makes the value of the dynamic compilation method diminishing. To overcome these problems, it is proposed to configure the DBMS optimizer, so that it evaluates and takes into account the efficiency of using certain types of nodes when building a query plan with its subsequent dynamic compilation. This paper discusses the modification of the PostgreSQL planner to select the most efficient query execution plan based on hardware characteristics and the execution model of operator nodes with interpretation or compilation.

Keywords: dynamic compilation, JIT-compilation, RDBMS, PostgreSQL, LLVM, query languages, planner

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



© Steklov Math. Inst. of RAS, 2024