Cobra:一个基于成本的数据库应用程序重写框架
Cobra: A Framework for Cost Based Rewriting of Database Applications
摘要:
数据库应用程序通常是使用命令式语言和声明式框架混合编写的。应用程序逻辑分布在程序的声明性和命令性部分。通常,有一种以上的方法来实现同一个程序,其效率可能取决于许多参数。在本文中,我们提出了一个框架,自动生成一个给定的程序使用一组程序转换的所有等价的替代品,并选择成本最低的替代品。我们使用的概念的程序区域作为一个代数抽象的程序和扩展的火山/瀑布框架优化的代数表达式,优化程序。我们说明了使用我们的框架优化数据库应用程序。我们通过实验结果表明,我们的框架具有广泛的适用性,在现实世界中的应用程序,并提供显着的性能优势。
英文摘要:
Database applications are typically written using a mixture of imperative languages and declarative frameworks for data processing. Application logic gets distributed across the declarative and imperative parts of a program. Often, there is more than one way to implement the same program, whose efficiency may depend on a number of parameters. In this paper, we propose a framework that automatically generates all equivalent alternatives of a given program using a given set of program transformations, and chooses the least cost alternative. We use the concept of program regions as an algebraic abstraction of a program and extend the Volcano/Cascades framework for optimization of algebraic expressions, to optimize programs. We illustrate the use of our framework for optimizing database applications. We show through experimental results, that our framework has wide applicability in real world applications and provides significant performance benefits.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。