We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.DB

Change to browse by:

cs

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo ScienceWISE logo

Computer Science > Databases

Title: Optimization of Imperative Programs in a Relational Database

Abstract: For decades, RDBMSs have supported declarative SQL as well as imperative functions and procedures as ways for users to express data processing tasks. While the evaluation of declarative SQL has received a lot of attention resulting in highly sophisticated techniques, the evaluation of imperative programs has remained naive and highly inefficient. Imperative programs offer several benefits over SQL and hence are often preferred and widely used. But unfortunately, their abysmal performance discourages, and even prohibits their use in many situations. We address this important problem that has hitherto received little attention.
We present Froid, an extensible framework for optimizing imperative programs in relational databases. Froid's novel approach automatically transforms entire User Defined Functions (UDFs) into relational algebraic expressions, and embeds them into the calling SQL query. This form is now amenable to cost-based optimization and results in efficient, set-oriented, parallel plans as opposed to inefficient, iterative, serial execution of UDFs. Froid's approach additionally brings the benefits of many compiler optimizations to UDFs with no additional implementation effort. We describe the design of Froid and present our experimental evaluation that demonstrates performance improvements of up to multiple orders of magnitude on real workloads.
Comments: Extended version of the paper titled "FROID: Optimization of Imperative Programs in a Relational Database" in PVLDB 11(4), 2017. DOI: 10.1145/3164135.3164140
Subjects: Databases (cs.DB)
Cite as: arXiv:1712.00498 [cs.DB]
  (or arXiv:1712.00498v4 [cs.DB] for this version)

Submission history

From: Karthik Ramachandra [view email]
[v1] Fri, 1 Dec 2017 21:24:25 GMT (2783kb,D)
[v2] Tue, 5 Dec 2017 17:52:53 GMT (2784kb,D)
[v3] Sat, 17 Aug 2019 09:23:59 GMT (2784kb,D)
[v4] Tue, 20 Aug 2019 08:17:54 GMT (2784kb,D)

Link back to: arXiv, form interface, contact.