arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1802.09180cs.DBcs.DC
收藏

Cuttlefish:一种用于自适应查询处理的轻量级原语

Cuttlefish: A Lightweight Primitive for Adaptive Query Processing

Tomer Kaftan, Magdalena Balazinska, Alvin Cheung, Johannes Gehrke

摘要:

现代数据处理应用程序执行越来越复杂的分析,需要超越传统关系代数的操作。结果,查询计划中的运算符在多样性和复杂性方面增长。设计查询优化器规则和成本模型来为所有这些新颖的逻辑运算符选择物理运算符是不切实际的。为了解决这一挑战,我们开发了乌贼,一个新的原始的自适应处理在线查询计划,探索候选人的物理运算符实例在查询执行过程中,并利用最快的多臂强盗强化学习技术。我们在Apache Spark中对Cuttlefish进行了原型设计,并自适应地为图像卷积、正则表达式匹配和关系连接选择了运算符。我们的实验表明,基于Cuttlefish的自适应卷积和正则表达式运算符可以达到无所不知的预言机的吞吐量的72-99%,该预言机总是选择最佳算法,即使单个物理运算符比最佳算法慢105倍。此外,与Spark SQL的查询优化器相比,Cuttlefish实现了高达7.5倍的连接吞吐量改进。

英文摘要:

Modern data processing applications execute increasingly sophisticated analysis that requires operations beyond traditional relational algebra. As a result, operators in query plans grow in diversity and complexity. Designing query optimizer rules and cost models to choose physical operators for all of these novel logical operators is impractical. To address this challenge, we develop Cuttlefish, a new primitive for adaptively processing online query plans that explores candidate physical operator instances during query execution and exploits the fastest ones using multi-armed bandit reinforcement learning techniques. We prototype Cuttlefish in Apache Spark and adaptively choose operators for image convolution, regular expression matching, and relational joins. Our experiments show Cuttlefish-based adaptive convolution and regular expression operators can reach 72-99% of the throughput of an all-knowing oracle that always selects the optimal algorithm, even when individual physical operators are up to 105x slower than the optimal. Additionally, Cuttlefish achieves join throughput improvements of up to 7.5x compared with Spark SQL's query optimizer.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑