Prof. Dr. Tilmann Rabl

Prof. Torsten Grust

Affiliation: Universität Tübingen
Title: Functional Programming on Top of SQL Engines
Slides: PDF



SQL database systems support user-defined functions (UDFs), but they hardly encourage *programming* with these functions.  Quite the contrary: the invocation and evaluation of SQL UDFs comes with a significant runtime tax that renders complex computation close to the data largely impractical.  Indeed, it is established developer lore that “serious computation” is better performed outside the RDBMS in languages other than SQL.

It doesn't have to be this way and we do not have turn RDBMSs on their head to improve the dire situation.  We describe SQL-level, non-invasive transformations that turn recursive SQL UDFs into plain SQL constructs that contemporary RDBMSs can evaluate way more efficiently. These transformations bank on techniques established by the functional programming language community—here, we twist them to the RDBMSs' (and our) advantage. RDBMSs can indeed make for expressive and declaratively programmable runtime systems. Let us use them as such!

Short CV

Torsten Grust is a professor of Computer Science at the University of Tübingen, Germany, where he leads the Database Systems research group since 2008. Prior to his move to Tübingen, Torsten has been a professor of Database Systems at TU Munich and TU Clausthal. Torsten received his Diploma (M.Sc.) in Computer Science in 1994 and his PhD degree in 1999 from University of Konstanz. In 2000, Torsten was a visiting scientist with the IBM Silicon Valley Laboratories, San Jose, CA, USA.

Torsten performs research into the design, compilation, optimization, and evaluation of a variety of database languages. In this work, he often walks the fine line between database query and programming language technology. His group develops techniques that turn relational database systems into scalable processors also for non-relational query and programming languages. Torsten is at his happiest whenever he finds new evidence that database and programming language research can mutually benefit each other. Consequently, he is a long-time member of ACM SIGMOD as well as SIGPLAN and part of the steering committee of the Int'l Workshop on Database Programming Languages (DBPL).