2018
DOI: 10.1145/3183653
|View full text |Cite
|
Sign up to set email alerts
|

Building Efficient Query Engines in a High-Level Language

Abstract: Abstraction without regret refers to the vision of using high-level programming languages for systems development without experiencing a negative impact on performance. A database system designed according to this vision offers both increased productivity and high performance, instead of sacrificing the former for the latter as is the case with existing, monolithic implementations that are hard to maintain and extend.In this article, we realize this vision in the domain of analytical query processing. We prese… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
17
0

Year Published

2018
2018
2024
2024

Publication Types

Select...
4
2
1

Relationship

2
5

Authors

Journals

citations
Cited by 36 publications
(17 citation statements)
references
References 78 publications
0
17
0
Order By: Relevance
“…Similar to IFAQ, DBToaster [31] uses a bag-based collection, yet for incremental view maintenance. A key challenge for such collection-based languages is efficient code generation, which has been investigated both by the DB [39,52,53] and PL [28,33,49] communities. The IFAQ languages are also inspired by the same model, with more similarities to monoid comprehension; the summation operator can be considered as a monoid comprehension.…”
Section: Related Workmentioning
confidence: 99%
“…Similar to IFAQ, DBToaster [31] uses a bag-based collection, yet for incremental view maintenance. A key challenge for such collection-based languages is efficient code generation, which has been investigated both by the DB [39,52,53] and PL [28,33,49] communities. The IFAQ languages are also inspired by the same model, with more similarities to monoid comprehension; the summation operator can be considered as a monoid comprehension.…”
Section: Related Workmentioning
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%
“…implementing inter-operator parallelism in query engines. In the context of query compilation, stream processing engines such as StreamBase (Tibbetts et al, 2011) and Spade (Gedik et al, 2008), as well as HyPer (Neumann, 2011) and LegoBase (Klonatos et al, 2014a;Shaikhha et al, 2018) use a push-based query engine approach.…”
Section: Pull Engine -Aka the Iterator Patternmentioning
confidence: 99%
“…The absolute execution times for all these queries can be found in Table 5. Note that, the performance difference with LegoBase (Klonatos et al, 2014a;Shaikhha et al, 2018) and DBLAB/LB (Shaikhha et al, 2016) is due to the lack of additional optimizations provided by these systems such as data-structure specialization.…”
Section: Macro-benchmarksmentioning
confidence: 99%