Code Generation for Efficient Query Processing in Managed Runtimes

Fabian Nagel, Gavin M. Bierman, Stratis D. Viglas

Research output: Contribution to journalArticlepeer-review

Abstract

In this paper we examine opportunities arising from the convergence of two trends in data management: in-memory database systems (IMDBs), which have received renewed attention following the availability of affordable, very large main memory systems; and language-integrated query, which transparently integrates database queries with programming languages (thus addressing the famous ‘impedance mismatch’ problem). Language-integrated query not only gives application developers a more convenient way to query external data sources like IMDBs, but also to use the same querying language to query an application’s in-memory collections. The latter offers further transparency to developers as the query language and all data is represented in the data model of the host programming language. However, compared to IMDBs, this additional freedom comes at a higher cost for query evaluation. Our vision is to improve in-memory query processing of application objects by introducing database technologies to managed runtimes. We focus on querying and we leverage query compilation to improve query processing on application objects. We explore different query compilation strategies and study how they improve the performance of query processing over application data. We take C] as the host programming language as it supports languageintegrated query through the LINQ framework. Our techniques deliver significant performance improvements over the default LINQ implementation. Our work makes important first steps towards a future where data processing applications will commonly run on
machines that can store their entire datasets in-memory, and will be written in a single programming language employing languageintegrated query and IMDB-inspired runtimes to provide transparent and highly efficient querying.
Original languageEnglish
Pages (from-to)1095-1106
Number of pages12
JournalProceedings of the VLDB Endowment (PVLDB)
Volume7
Issue number12
Publication statusPublished - 2014

Fingerprint

Dive into the research topics of 'Code Generation for Efficient Query Processing in Managed Runtimes'. Together they form a unique fingerprint.

Cite this