打开数据流优化中的黑盒
数据库
2012-08-02 v1
摘要
许多大数据分析系统采用数据流抽象来定义并行数据处理任务。在此设置下,表示为用户定义函数的自定义操作非常普遍。我们解决了在此抽象层级进行数据流优化的问题,其中算子的语义是未知的。传统上,查询优化应用于具有已知代数语义的查询。在本工作中,我们发现只需少量属性而非完整的代数规范,就足以建立数据处理算子的重排序条件。我们表明,通过静态分析用户定义函数的通用代码,可以准确估计黑盒算子的这些属性。我们设计并实现了一个并行数据流优化器,该优化器不假设对算子的语义或代数属性有任何先验知识。我们的评估证实,该优化器能够应用常见的重写技术,如选择重排序、稠密连接顺序枚举以及有限形式的聚合下推,从而产生与现代关系型 DBMS 优化器相当的重写能力。此外,它还能优化非关系型数据流的算子顺序,这是当今系统中独有的功能。
引用
@article{arxiv.1208.0087,
title = {Opening the Black Boxes in Data Flow Optimization},
author = {Fabian Hueske and Mathias Peters and Matthias Sax and Astrid Rheinländer and Rico Bergmann and Aljoscha Krettek and Kostas Tzoumas},
journal= {arXiv preprint arXiv:1208.0087},
year = {2012}
}
备注
VLDB2012