Abstract
Just-in-time compilation of SQL queries into native code has recently emerged as a viable alternative to interpretation-based query processing. We present the salient results of research in this fresh area, addressing all aspects of the query processing stack. Throughout the discussion we draw analogies to the general code generation techniques used in contemporary compiler technology. At the same time we describe the open research problems of the area.
- J. Aycock. A brief history of just-in-time. ACM Comput. Surv., 35(2), 2003. Google Scholar
- P. Boncz. Monet: A Next-Generation DBMS Kernel For Query-Intensive Applications. PhD thesis, Universiteit van Amsterdam, 2002.Google Scholar
- D. D. Chamberlin et al. A history and evaluation of System R. Commun. ACM, 24, 1981. Google Scholar
- A. Demakov. Just-in-time compiler library, 2007.Google Scholar
- S. Finkelstein. Common expression analysis in database applications. In SIGMOD, 1982. Google Scholar
- Free Software Foundation. Using and porting GNU lightning, 2008.Google Scholar
- J. C. Freytag and N. Goodman. Translating aggregate queries into iterative programs. In VLDB, 1986. Google Scholar
- J. C. Freytag and N. Goodman. On the translation of relational queries into iterative programs. ACM Trans. Database Syst., 14, 1989. Google Scholar
- G. Graefe. Query Evaluation Techniques for Large Databases. ACM Comput. Surv., 25(2), 1993. Google Scholar
- R. Greer. Daytona And The Fourth-Generation Language Cymbal. In SIGMOD, 1999. Google Scholar
- L. Hammond et al. Transactional memory coherence and consistency. In ISCA, 2004. Google Scholar
- M. Herlihy and J. E. B. Moss. Transactional memory: Architectural support for lock-free data structures. In ISCA, 1993. Google Scholar
- D. R. Hipp, D. Kennedy, and J. Mistachkin. SQLite Database, 2012.Google Scholar
- M. G. Ivanova et al. An architecture for recycling intermediates in a column-store. In SIGMOD, 2009. Google Scholar
- T. Kissinger et al. QPPT: Query Processing on Prefix Trees. In CIDR, 2013.Google Scholar
- Y. Kotidis and N. Roussopoulos. Dynamat: a dynamic view management system for data warehouses. In SIGMOD, 1999. Google Scholar
- K. Krikellas, S. D. Viglas, and M. Cintra. Generating code for holistic query evaluation. In ICDE, 2010.Google Scholar
- K. Krikellas, S. D. Viglas, and M. Cintra. Modeling multithreaded query execution on chip multiprocessors. In ADMS, 2010.Google Scholar
- C. Lattner. LLVM: An Infrastructure for Multi-Stage Optimization. Master's thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, 2002.Google Scholar
- D. G. Murray, M. Isard, and Y. Yu. Steno: Automatic Optimization of Declarative Queries. In PLDI, 2011. Google Scholar
- F. Nagel, P. Boncz, and S. D. Viglas. Recycling in pipelined query evaluation. In ICDE, 2013. Google Scholar
- T. Neumann. Efficiently compiling efficient query plans for modern hardware. Proc. VLDB Endow., 4(9), 2011. Google Scholar
- J. Patel et al. Building a Scalable Geo-Spatial DBMS: Technology, Implementation, and Evaluation. In SIGMOD, 1997. Google Scholar
- H. Pirk, S. Manegold, and M. Kersten. Accelerating Foreign-Key Joins using Asymmetric Memory Channels. In ADMS, 2011.Google Scholar
- J. Rao et al. Compiled query execution engine using jvm. In ICDE, 2006. Google Scholar
- T. K. Sellis. Intelligent caching and indexing techniques for relational database systems. Inf. Syst., 13, 1988. Google Scholar
- J. Sompolski, M. Zukowski, and P. Boncz. Vectorization vs. compilation in query execution. In DaMoN, 2011. Google Scholar
- R. Tsuchiyama et al. The OpenCL Programming Book. Fixstar, 2012.Google Scholar
- Y. Zhang and J. Yang. Optimizing I/O for Big Array Analytics. Proc. VLDB Endow., 5(8), 2012. Google Scholar
Index Terms
- Just-in-time compilation for SQL query processing
Recommendations
Towards just-in-time compilation of SQL queries with OMR JitBuilder
CASCON '21: Proceedings of the 31st Annual International Conference on Computer Science and Software EngineeringThe evaluation of SQL expressions and tuple materialization can consume a significant portion of the overall execution time of a query. The goal of our work is to generate efficient machine code for scan, filter, join and group-by operations for a given ...
Speeding up Array Query Processing by Just-In-Time Compilation
ICDMW '08: Proceedings of the 2008 IEEE International Conference on Data Mining WorkshopsInterpreted languages frequently suffer from higher processing times as compared to compiled approaches. Typically this happens when complex computations are performed. Array DBMSs, which extend database functionality with multidimensional array ...
Improving execution efficiency of just-in-time compilation based query processing on GPUs
In recent years, we have witnessed significant efforts to improve the performance of Online Analytical Processing (OLAP) on graphics processing units (GPUs). Most existing studies have focused on improving memory efficiency since memory stalls can play ...
Comments