一句话:提出基于幺半群同态的代数,作为 MRQL 形式基础,统一数据密集型分布式计算 DSL 操作并支持查询优化。
针对数据密集型可扩展计算,现有面向数据中心的分布式计算 DSL 缺乏统一、可优化的形式基础。本文提出一个基于幺半群同态的小型运算代数,能够刻画当前此类 DSL 的大部分特性,并作为 MRQL 查询处理与优化系统的形式基础。MRQL 的语义由 monoid comprehensions 给出,支持 group-by 和 order-by 语法,且无需扩展代数即可处理异构集合。作者给出 monoid comprehensions 的语法、语义及其到代数表达式的翻译规则。为证明代数有效性,还给出若干关键优化规则,例如将嵌套查询转换为连接。
Abstract We present an algebra for data-intensive scalable computing based on monoid homomorphisms that consists of a small set of operations that capture most features supported by current domain-specific languages for data-centric distributed computing. This algebra is being used as the formal basis of MRQL, which is a query processing and optimization system for large-scale distributed data analysis. The MRQL semantics is given in terms of monoid comprehensions, which support group-by and order-by syntax and can work on heterogeneous collections without requiring any extension to the monoid algebra. We present the syntax and semantics of monoid comprehensions and provide rules to translate them to the monoid algebra. We give evidence of the effectiveness of our algebra by presenting some important optimization rules, such as converting nested queries to joins.