4
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Optimization of Imperative Programs in a Relational Database

      Preprint

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          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.

          Related collections

          Most cited references 3

          • Record: found
          • Abstract: not found
          • Conference Proceedings: not found

          Flow graph reducibility

            Bookmark
            • Record: found
            • Abstract: not found
            • Article: not found

            Optimization of nested SQL queries revisited

              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              Orthogonal optimization of subqueries and aggregation

                Bookmark

                Author and article information

                Journal
                01 December 2017
                Article
                1712.00498

                http://arxiv.org/licenses/nonexclusive-distrib/1.0/

                Custom metadata
                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
                cs.DB

                Comments

                Comment on this article