Proceedings of the 2016 International Conference on Management of Data 2016
DOI: 10.1145/2882903.2915244
|View full text |Cite
|
Sign up to set email alerts
|

How to Architect a Query Compiler

Abstract: This paper studies architecting query compilers. The state of the art in query compiler construction is lagging behind that in the compilers field. We attempt to remedy this by exploring the key causes of technical challenges in need of well founded solutions, and by gathering the most relevant ideas and approaches from the PL and compilers communities for easy digestion by database researchers. All query compilers known to us are more or less monolithic template expanders that do the bulk of the compilation t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
67
0

Year Published

2016
2016
2023
2023

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 70 publications
(67 citation statements)
references
References 84 publications
0
67
0
Order By: Relevance
“…Recent work uses code compilation to reduce the interpretation overhead of query evaluation [28,39,43,48,49,51]. e compilation approach in LMFAO is closest in spirit to DBLAB [49], which advocates for the use of intermediate representations (IR) to enable code optimizations that cannot be achieved by conventional query optimizers or query compilation techniques without IRs. e various optimization layers of LMFAO can be viewed as optimizations over the following increasingly more granular IRs: (1) the join tree; (2) orders of join a ributes; and (3) the multi-output optimization that registers the computation of aggregates at speci c a ributes in the a ribute order.…”
Section: Lmfao Compilationmentioning
confidence: 99%
“…Recent work uses code compilation to reduce the interpretation overhead of query evaluation [28,39,43,48,49,51]. e compilation approach in LMFAO is closest in spirit to DBLAB [49], which advocates for the use of intermediate representations (IR) to enable code optimizations that cannot be achieved by conventional query optimizers or query compilation techniques without IRs. e various optimization layers of LMFAO can be viewed as optimizations over the following increasingly more granular IRs: (1) the join tree; (2) orders of join a ributes; and (3) the multi-output optimization that registers the computation of aggregates at speci c a ributes in the a ribute order.…”
Section: Lmfao Compilationmentioning
confidence: 99%
“…Code Specialization and Query Compilation It involves generating code specific to the query and the schema of its input data, following prior work [36,52,53], and also specific to the model to be learned. This technique improves the runtime performance by inlining code and improving cache locality for the hot data path.…”
Section: Database Systems Considerationsmentioning
confidence: 99%
“…The LegoBase system uses generative programming to generate efficient low-level C code for a database implementation in a high-level language [24]. Shaikhha and others further refine this principle in DBLAB [47] by introducing a stack of multiple Domain Specific Languages (DSLs) that differ in the levels of abstraction. Here, high-level code is progressively lowered to low-level code, by compiling code in multiple stages, where each stage compiles to a DSL of lower abstraction level, until the final code is generated.…”
Section: Query Compilation For Cpus and Gpusmentioning
confidence: 99%