1. 摘要(Abstract)
Hydro提出了一种面向机器学习查询的数据库管理系统(ML-centric DBMS),核心创新在于将自适应查询处理(Adaptive Query Processing,AQP)技术全面引入UDF密集型查询场景,从而彻底解决传统静态查询优化在ML查询中的两大核心瓶颈。首先,UDF的执行代价和选择性高度依赖输入数据,且受系统级缓存等动态因素影响,导致查询优化阶段的预估统计信息极不可靠;其次,最优查询计划是数据依赖的,静态计划无法在执行过程中动态调整。Hydro基于EvaDB构建,在查询执行全程实时监控UDF统计信息,通过动态调整谓词求值顺序和硬件资源分配,实现最优执行路径。
系统对经典Eddy AQP框架进行了针对ML查询的深度定制,引入Laminar路由机制负责自动扩展工作线程并实现数据感知的负载均衡。论文通过四个多样化用例(三个视频分析场景和一个大型语言模型分析场景)进行了全面验证,结果显示Hydro相比基线静态优化系统最高可带来11.52倍的端到端加速,同时保持查询结果精度不变。该工作不仅填补了AQP在UDF密集场景下的研究空白,还为下一代智能数据库的查询处理提供了可扩展、可通用的系统框架,具有重要的理论意义和工程实用价值。

2. 引言(Introduction)
现代数据库系统已广泛支持将深度学习模型直接封装为用户自定义函数(UDF)嵌入SQL查询,这使得用户能够在数据库内部高效完成复杂的ML任务。然而,UDF的计算密集特性导致其成为查询执行的首要瓶颈。以视频数据库管理系统(VDBMS)为例,大量计算机视觉UDF(如目标检测、分类模型)使得查询性能严重受限。传统ML-centric DBMS虽然尝试通过采样“金丝雀”数据预估UDF统计信息来优化查询计划,但这种静态优化方式在实际执行中暴露出明显缺陷:UDF代价随输入数据(如边界框尺寸)动态变化,系统级缓存复用进一步扭曲预估值,最终生成次优的固定查询计划。
Hydro的核心贡献在于认识到ML查询的最优计划高度依赖实时数据特性,必须在执行过程中持续自适应调整。论文以“寻找丢失的黑大丹犬”这一典型视频查询为例,详细说明了谓词求值顺序对整体执行时间的决定性影响,并指出静态优化在UDF场景下的两个致命局限:一是统计信息不可靠,二是UDF执行难以扩展。Hydro通过引入AQP框架,完全消除查询优化阶段的预估开销,实现“边执行边优化”的全新范式。该方法不仅显著提升了查询性能,还为探索式分析、实时视频处理等场景提供了更具普适性的解决方案,具有重要的实践指导意义。
3. 背景与动机(Background and Motivation)
视频数据库管理系统(VDBMS)是ML查询的典型代表,其核心挑战在于计算密集的UDF往往占据查询执行时间的绝大部分。现有VDBMS工作如VIVA通过用户提供的关系提示进行优化,ExSample、FiGO、Chameleon则尝试在执行中选择最优算法或采样策略,但这些方案大多采用定制化执行框架,通用性和可扩展性较差,且部分以牺牲查询精度为代价换取速度。
在传统关系型DBMS中,Eddy框架是最具代表性的AQP方案,它在查询执行时按元组粒度动态重排序管道算子,通过运行时统计(如队列长度推断执行代价、彩票机制推断选择性)实现自适应路由。后续的Content-based Routing进一步引入数据内容感知,但路由开销较高。Hydro在继承Eddy框架优势的同时,针对ML UDF的独特特性进行了深度定制:它不仅保留了动态路由能力,还新增了硬件资源感知和数据感知负载均衡机制,彻底解决了UDF场景下静态优化难以应对的动态性问题。论文强调,传统静态查询优化已无法满足UDF密集型ML查询的需求,而Hydro通过运行时监控与实时调整,为智能数据库系统提供了全新的查询处理范式,具有重要的理论价值和工程意义。

4. Hydro系统设计(AQP in Hydro)
Hydro无缝集成到EvaDB这一ML-centric数据库系统中,查询优化器在遇到UDF谓词时自动切换为AQP计划,仅保留规则-based的静态优化(如谓词下推、结果缓存复用)。AQP执行器是整个系统的核心,由Eddy路由和Laminar路由两大组件构成。Eddy路由负责动态决定谓词求值顺序,Laminar路由则负责监控硬件利用率(如GPU占用率)、自动扩展工作线程数量,并实现数据感知的负载均衡。
数据以路由批次(routing batch,默认10行)为单位在中央队列中流动:Eddy Pull从子执行器拉取批次并插入中央队列;Eddy Router根据当前路由策略将批次分发至各Laminar Router的输入队列;Laminar Router再根据实时硬件统计和数据特性选择最优工作线程并完成负载分配。谓词求值完成后,批次回写中央队列,已完成所有谓词的批次最终进入输出队列。该设计实现了真正的“零预估、实时自适应”查询执行流程,同时通过元数据跟踪、预置物化、死锁预防等工程优化,确保系统在高并发UDF场景下的稳定性和高效性,为ML查询处理提供了坚实的系统基础。

5. Eddy使用案例与路由策略(Use Cases of Eddy)
论文通过四个实际用例系统展示了Hydro的实用价值,其中UC1(视频中寻找黑大丹犬)和UC2(带缓存复用的探索式分析)最具代表性。在UC1中,作者详细对比了三种路由策略:选择性驱动、得分驱动(基于1-选择性)和代价驱动。实验表明,当两个谓词可并行执行(一个运行于CPU、一个运行于GPU)时,单纯的选择性或得分驱动策略不再最优,代价驱动策略能更好地利用计算重叠,显著提升整体性能。
UC2进一步引入了缓存感知(Reuse-Aware)路由机制:在探索式查询场景中,不同谓词的缓存命中率随视频段ID动态变化。Hydro通过实时监控缓存命中率,动态调整每个谓词的实际执行代价,从而在复用Q1、Q2缓存结果的Q3查询中自动选择最优谓词顺序,实现了1.25×的额外加速。这些用例充分验证了Hydro在实际ML查询场景中的适应性和高效性,同时也为后续研究提供了宝贵的系统洞见和实现参考。

6. 实验评估与性能分析(Evaluation)
实验在配备AMD EPYC 32核CPU + NVIDIA A40 GPU的服务器上进行,基线系统为EvaDB的默认静态优化模式。针对UC1,代价驱动路由较无重排序获得1.70×加速,优于得分驱动(1.68×)和选择性驱动(1.52×)。敏感性分析进一步验证了在不同选择性与代价组合下,代价驱动策略始终保持最佳鲁棒性。
UC2中,Reuse-Aware路由充分利用部分缓存,进一步将性能提升至1.25×。论文还对系统各组件的开销进行了细致剖析,强调Hydro的所有优化均在系统层面实现,不影响查询结果精度,且能与现有ML查询优化技术(如结果缓存)无缝协同。整体而言,Hydro在四个多样化用例中最高实现了11.52×的加速效果,充分证明了AQP技术在UDF密集型ML查询场景下的巨大潜力。



7. 贡献与结论(Contributions and Conclusion)
Hydro的主要贡献包括三方面:一是提出了一种ML-centric DBMS框架,将AQP技术适配到UDF密集型查询场景,设计了ML查询专属的路由策略和UDF统计动态采集机制;二是对Eddy框架进行扩展,新增Laminar自动扩展组件及数据感知负载均衡策略,实现硬件资源的高效利用;三是通过四个真实用例全面验证了系统性能,最高获得11.52×加速效果。
论文结论明确指出,传统静态查询优化已无法满足UDF密集的ML查询需求,而Hydro通过运行时监控与动态调整,证明了AQP在这一场景下的巨大潜力。该工作不仅为视频数据库、探索式分析等应用提供了可扩展的查询处理框架,也为未来智能数据库系统的设计提供了重要参考,具有广泛的学术价值和工程意义。