Zur Hauptnavigation wechseln Zur Suche wechseln Zum Hauptinhalt wechseln

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

  • Technische Universität München
  • Friedrich Schiller University Jena

Publikation: Beitrag in FachzeitschriftArtikelBegutachtung

40 Zitate (Scopus)

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 overhead. We incorporate the lessons learned from a decade of generating code in HyPer into a design that manages complexity and yields high speed. First, we introduce a code generation framework that establishes abstractions to manage complexity, yet generates code in a single fast pass. Second, we present a program representation whose data structures are tuned to support fast code generation and compilation. Third, we introduce a new compiler backend that is optimized for minimal compile time, and simultaneously, yields superior execution performance to competing approaches, e.g., Volcano-style or bytecode interpretation. We implemented these optimizations in our database system Umbra to show that it is possible to unite fast compilation and fast execution. Indeed, Umbra achieves unprecedentedly low query latencies. On small data sets, it is even faster than interpreter engines like DuckDB and PostgreSQL. At the same time, on large data sets, its throughput is on par with the state-of-the-art compiling system HyPer.

OriginalspracheEnglisch
Seiten (von - bis)883-905
Seitenumfang23
FachzeitschriftVLDB Journal
Jahrgang30
Ausgabenummer5
DOIs
PublikationsstatusVeröffentlicht - Sept. 2021

Fingerprint

Untersuchen Sie die Forschungsthemen von „Tidy Tuples and Flying Start: fast compilation and fast execution of relational queries in Umbra“. Zusammen bilden sie einen einzigartigen Fingerprint.

Dieses zitieren