Generating code for holistic query evaluation

K. Krikellas, Stratis D. Viglas, M. Cintra

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We present the application of customized code generation to database query evaluation. The idea is to use a collection of highly efficient code templates and dynamically instantiate them to create query- and hardware-specific source code. The source code is compiled and dynamically linked to the database server for processing. Code generation diminishes the bloat of higher-level programming abstractions necessary for implementing generic, interpreted, SQL query engines. At the same time, the generated code is customized for the hardware it will run on. We term this approach holistic query evaluation. We present the design and development of a prototype system called HIQUE, the Holistic Integrated Query Engine, which incorporates our proposals. We undertake a detailed experimental study of the system's performance. The results show that HIQUE satisfies its design objectives, while its efficiency surpasses that of both well-established and currently-emerging query processing techniques.
Original languageEnglish
Title of host publicationIEEE 26th International Conference on Data Engineering (ICDE 2010)
Place of PublicationLOS ALAMITOS
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Pages613-624
Number of pages12
ISBN (Electronic)978-1-4244-5444-0
ISBN (Print)978-1-4244-5445-7
DOIs
Publication statusPublished - Mar 2010

Keywords

  • HIQUE
  • SQL query engines
  • database query evaluation
  • generating code
  • higher level programming
  • highly efficient code
  • holistic integrated query engine
  • holistic query evaluation
  • query processing techniques
  • query- and hardware specific source code
  • SQL
  • high level languages
  • program compilers
  • query processing

Fingerprint

Dive into the research topics of 'Generating code for holistic query evaluation'. Together they form a unique fingerprint.

Cite this