2021
DOI: 10.1007/s00778-020-00643-4
|View full text |Cite
|
Sign up to set email alerts
|

Tidy Tuples and Flying Start: fast compilation and fast execution of relational queries in Umbra

Abstract: Although compiling queries to efficient machine code has become a common approach for query execution, a number of newly created database system projects still refrain from using compilation. It is sometimes claimed that the intricacies of code generation make compilation-based engines too complex. Also, a major barrier for adoption, especially for interactive ad hoc queries, is long compilation time. In this paper, we examine all stages of compiling query execution engines and show how to reduce compilation o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
5
1
1

Relationship

2
5

Authors

Journals

citations
Cited by 22 publications
(3 citation statements)
references
References 28 publications
0
3
0
Order By: Relevance
“…Query compilers nowadays build upon data centric code generation [22,32], which translates query plans into an intermediate language that a compiler like LLVM can optimize and transform to machine code. Subsequent work in this area advanced the used intermediate representations (IR) to fit the needs of query processing systems [13,14,33,38]. Indexed Algebra optimizes the logical plan from a high level, where IRs focus on the lowering to machine code for the physical query plan.…”
Section: Related Workmentioning
confidence: 99%
“…Query compilers nowadays build upon data centric code generation [22,32], which translates query plans into an intermediate language that a compiler like LLVM can optimize and transform to machine code. Subsequent work in this area advanced the used intermediate representations (IR) to fit the needs of query processing systems [13,14,33,38]. Indexed Algebra optimizes the logical plan from a high level, where IRs focus on the lowering to machine code for the physical query plan.…”
Section: Related Workmentioning
confidence: 99%
“…As code generation can be relatively expensive, especially for ad-hoc queries that complete quickly, Umbra does not directly generate machine code but uses the intermediate representation Umbra IR. This low-level language that was inspired by LLVM [17] can then be executed in multiple ways: A virtual machine that interprets the IR, a direct translation from Umbra IR to x86 assembly called the Flying Start backend [15], and a more sophisticated translation that uses LLVM to generate optimized machine code. Umbra uses adaptive execution [16] to dynamically switch between all three approaches to achieve low latency for short queries and high throughput for long-running analytical queries.…”
Section: User-defined Operators In Code-generating Query Enginesmentioning
confidence: 99%
“…Proceedings of the VLDB Endowment, Vol. 15 Still, most data that is eventually analyzed in special-purpose systems is originally sourced from the RDBMS. Thus, a common approach is to create ETL work ows that can accommodate the use of di erent systems [31].…”
Section: Introductionmentioning
confidence: 99%