- 简介关系型数据库管理系统中的查询优化对于快速查询处理至关重要。查询优化器依赖于精确的选择性和成本估计,以在执行之前有效地优化查询。虽然这种策略对于关系型数据库管理系统很有效,但对于专门用于处理机器学习(ML)查询的数据库管理系统来说是不够的。在以ML为中心的DBMS中,查询优化有两个挑战。首先,查询的性能瓶颈转移到了用户定义的函数(UDFs),这些函数经常包装在深度学习模型周围,很难在不对查询进行分析的情况下准确估计UDF统计数据。这导致统计数据不准确和子优化查询计划。其次,ML查询的最佳查询计划是数据相关的,需要DBMS在执行过程中调整查询计划。因此,静态查询计划对于这种查询是不够的。 在本文中,我们介绍了Hydro,一种ML为中心的DBMS,它利用自适应查询处理(AQP)来高效处理ML查询。Hydro旨在通过确保最佳谓词评估顺序和提高UDF执行的可扩展性,快速评估基于UDF的查询谓词。通过集成AQP,Hydro不断监视UDF统计数据,在最佳顺序中路由数据到谓词,并动态分配资源以评估谓词。我们通过四个说明性用例展示了Hydro的效力,相比基线系统提供了高达11.52倍的加速。
- 图表
- 解决问题解决机器学习查询在关系型数据库管理系统(DBMS)中的优化问题,即UDF统计数据不准确和静态查询计划不适用的问题。
- 关键思路提出了Hydro,一个基于自适应查询处理(AQP)的ML-centric DBMS,通过优化UDF谓词的评估顺序和提高UDF执行的可扩展性来快速评估UDF-based查询谓词。Hydro通过不断监视UDF统计数据、在最佳顺序下路由数据到谓词,并动态分配资源来评估谓词,从而实现了数据依赖的最优查询计划。
- 其它亮点论文通过四个案例展示了Hydro的有效性,相较于基线系统提供了高达11.52倍的加速。实验使用了哪些数据集,是否开源代码不得而知。
- 近期的相关研究包括基于AQP的数据库优化、基于机器学习的查询优化、深度学习模型的集成和优化等领域。


提问交流