01 开篇
近日,由阿里云计算平台大数据基础工程技术团队主导,华东师范大学数据科学与工程学院、丹麦奥尔堡大学合作的论文《RCRank: Multimodal Ranking of Root Causes of Slow Queries in Cloud Database Systems》被数据库领域顶会VLDB 2025接收。论文从更加全面的慢SQL可观测的数据视角分析Hologres中慢SQL的根因,实现了基于神经网络的慢SQL根因影响估计和排序,通过与SOTA根因分析算法相比平均提升慢查询优化效率14%。
02 背景
企业和个人正越来越多地将其数据库服务迁移到云端。然而,云数据库系统的性能问题,特别是慢查询,会给用户带来经济损失,并降低用户对云端数据管理的信任。因此,加速慢查询对于确保高性能的云数据库系统至关重要。慢查询可能源于数据库系统的内部因素,如缺少相关索引或 SQL 语句书写不当,也可能受到外部因素的影响,如 I/O 瓶颈和网络问题。本文的目标是提供一个框架帮助用户解决慢查询优化问题,重点关注由内部因素引起的根因。识别根因,即识别导致慢查询的关键因素,然后根据根因的重要程度,通过相应的优化方法提升数据库性能。
03 挑战
尽管已有方法针对慢查询的识别,但仍然存在两个主要限制:限制一:侧重于根因类型识别。 现有方法主要关注识别慢查询的根因类型。然而,这并不能完全满足优先处理"最重要"根因的需求。基于根因优化慢查询的成本较高,如果针对每个根因都进行修正,可能会带来巨大的开销。因此,在选择要处理的根因时,考虑其影响程度(即解决该根因后可节省多少运行时间)是十分重要的。然而,根因识别(RCI)方法无法量化解决已识别根因的潜在影响,从而限制了其实用性。限制二:云数据库系统的观测不完整性。 大多数现有方法依赖于单一模态的信息,例如 CPU 或内存使用时间等关键性能指标来识别根因,而忽略了其他能够提供慢查询内部因素见解的数据来源。例如,查询语句和执行计划包含关于查询目标和估计执行过程的信息,而执行日志记录了查询执行过程中消耗的资源及其执行状态。若要实现全面观测,需要综合考虑这些数据来源,以此构建更扎实的基础,从而更准确地理解慢查询及其根因,并提升根因识别的准确性。
04 破局

本文提出了一种多模态诊断框架,用于识别慢查询的根因并根据其影响力进行排序。具体来说包含以下几个关键方面:慢查询与根因收集模块包括云数据库系统监控、慢查询收集和根因收集。该模块收集慢查询及其对应根因的影响程度,为第二个模块提供数据基础。多模态根因诊断模块通过预训练表征和多模态融合学习观测完整的多模态数据表征,根据多模态表征估计根因影响程度,从而构建基于慢查询根因影响程度的排序列表。
(1)慢查询根因收集:慢查询收集通过云数据库监控系统对查询和数据库实例进行持续监控,并收集超过慢查询阈值的查询。接下来,通过基于规则的方法和基于大语言模型(LLM)的方法分析慢查询的根因。根据两类分析方法提供的优化方案进行修正,并重新执行得到修正后的执行时间。通过 (原始执行时间-修正后执行时间) / 原始执行时间,计算出根因的影响程度,从而构建了一个用于识别和排序慢查询根因的数据集。

(2)多模态根因诊断:多模态根因诊断模型将不同模态的查询语句、执行计划、执行日志、关键性能指标输入模型。原始数据首先经过输入嵌入模块分别进行编码,转换为特征表征。随后,多模态融合模块通过交叉特征提取器融合多模态特征表征,并提取根因的共性特征和自适应性特征。最后,结合根因的共性特征和自适应性特征进行根因影响程度估计和排序,得到慢查询根因影响程度的排序列表。
05 应用
后续将进一步研究如何将RCRank技术与Hologres现有实例诊断能力结合。