Processing Declarative Queries Through Generating Imperative Code in Managed Runtimes

Stratis Viglas, Gavin M. Bierman, Fabian Nagel

Research output: Contribution to journalArticlepeer-review

Abstract

The falling price of main memory has led to the development and growth of in-memory databases. At the same time, language-integrated query has picked up significant traction and has emerged as a generic, safe method of combining programming languages with databases with considerable software engineering benefits. Our perspective on language-integrated query is that it combines the runtime of a programming language with that of a database system. This leads to the question of how to tightly integrate these two runtimes into one single framework. Our proposal is to apply code generation techniques that have
recently been developed for general query processing. The idea is that instead of compiling quereies to query plans, which are then interpreted, the system generates customized native code that is then compiled and executed by the query engine. This is a form of just-in-time compilation. We argue in this paper that these techniques are well-suited to integrating the runtime of a programming language with that of a database system. We present the results of early work in this fresh research area. We showcase the opportunities of this approach and highlight interesting research problems that arise.
Original languageEnglish
Pages (from-to)12-21
Number of pages10
JournalIEEE Data Engineering Bulletin
Volume37
Issue number1
Publication statusPublished - 2014

Fingerprint

Dive into the research topics of 'Processing Declarative Queries Through Generating Imperative Code in Managed Runtimes'. Together they form a unique fingerprint.

Cite this