[论文解读] Exploiting Opportunistic Physical Design in Large-scale Data Analytics
该论文提出了一种新颖的查询重写系统,利用MapReduce执行过程中作为副产品生成的机遇性物化视图,加速以UDF为主的大型数据分析查询。通过引入语义UDF模型和基于成本的、受度量空间启发的重写算法,该方法在平均情况下将查询执行时间减少了60%,在复杂工作负载中甚至可提升一个数量级。
Large-scale systems, such as MapReduce and Hadoop, perform aggressive materialization of intermediate job results in order to support fault tolerance. When jobs correspond to exploratory queries submitted by data analysts, these materializations yield a large set of materialized views that typically capture common computation among successive queries from the same analyst, or even across queries of different analysts who test similar hypotheses. We propose to treat these views as an opportunistic physical design and use them for the purpose of query optimization. We develop a novel query-rewrite algorithm that addresses the two main challenges in this context: how to search the large space of rewrites, and how to reason about views that contain UDFs (a common feature in large-scale data analytics). The algorithm, which provably finds the minimum-cost rewrite, is inspired by nearest-neighbor searches in non-metric spaces. We present an extensive experimental study on real-world datasets with a prototype data-analytics system based on Hive. The results demonstrate that our approach can result in dramatic performance improvements on complex data-analysis queries, reducing total execution time by an average of 61% and up to two orders of magnitude.
研究动机与目标
- 解决在探索性大数据分析中反复重新执行复杂、UDF密集型查询所导致的低效问题。
- 实现对先前查询中间结果的有效重用,即使这些结果涉及任意用户定义函数(UDFs)。
- 开发一种可扩展且高效的查询重写机制,能够利用物化视图在庞大的潜在重写空间中进行导航。
- 提供一种基于成本的、工作高效性的搜索策略,无需穷举即可识别最优重写方案。
提出的方法
- 提出一种灰盒UDF模型,能够捕捉包含任意代码的MapReduce UDF的语义行为,从而在不完全执行的情况下推理其输出。
- 引入一种基于UDF模型和查询/视图模式结构的潜在查询-视图重写下界成本估算技术。
- 采用受度量空间中最近邻搜索启发的BfRewrite算法,逐步探索重写空间,优先考虑估计成本较低的视图。
- 使用基于成本的剪枝策略,避免探索无希望的重写方案,从而在特定假设下确保工作高效性并发现最优结果。
- 将重写引擎集成到基于Hive的原型系统中,利用真实世界数据集上的复杂、UDF丰富的查询评估性能。
- 利用现有的物化视图作为机遇性物理设计,无需额外存储或计算开销。
实验结果
研究问题
- RQ1我们能否有效利用MapReduce执行过程中生成的物化视图进行查询重写,即使这些视图包含复杂且任意的UDFs?
- RQ2如何对UDFs进行建模,使其能够在不完全执行的情况下实现对其输出的语义推理,从而支持高效的重写成本估算?
- RQ3何种算法方法能够高效搜索涉及UDFs和物化视图的庞大可能重写空间,同时保证最优性?
- RQ4此类系统在真实世界、UDF密集型的大数据分析工作负载中,能够在多大程度上减少执行时间?
主要发现
- 所提出的系统在涉及复杂、UDF密集型查询的真实工作负载中,将平均查询执行时间减少了61%。
- 在最佳情况下,系统实现的性能提升最高可达原始查询执行的10倍。
- 即使不存在语法完全相同的视图,该方法依然有效,表明其对视图多样性和不完美视图保留策略具有鲁棒性。
- 该系统在极小的存储开销下实现显著的性能提升,因为物化视图的总大小相对于基础数据非常小。
- BfRewrite算法通过使用成本下界高效剪枝搜索空间,实现了工作高效性的最优重写发现。
- 该方法涵盖了先前仅依赖语法匹配的ReStore和MRShare等技术,后者无法在语义相似但语法不同的UDFs之间重用结果。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。