学术沙龙|数据科学与工程研究生学术沙龙(第24期)数据驱动的数据库性能优化

发布时间:2023-04-05浏览量:73


活动背景:数据库性能优化是系统生命周期中不可缺少的一环。随着大数据时代的发展,数据信息不断膨胀、应用场景业务不断发展,而传统数据库技术往往依赖于启发式算法或者人工干预,很难适应这些新的场景和变化。同时,机器学习技术因其较强的学习能力,逐渐在数据库领域展现潜力和应用前景。本次学术沙龙活动主要以“数据驱动的数据库性能优化”为主题,介绍了AI赋能数据库系统的场景,包括查询优化、旋钮调优与异常诊断三个方面。




01

活动回顾




第24期研究生学术沙龙于2023年3月30日在线下如期举行,吸引了众多同学前来交流学习,现场座无虚席。在蔡鹏老师介绍了AI赋能数据库系统的主题后,我院博士研究生李思佳、岳中伟同学和硕士研究生沈怡琪同学分别针对参数化查询优化、基于规则和搜索驱动策略的可解释性调优系统以及数据库性能异常的智能诊断三个方面进行了精彩的分享。


 AI4DB 

蔡鹏


当前,数据库系统的开发和运维极度依赖专家经验,数据库的功能模块设计与实现通常仅考虑最常见的业务场景。当业务场景发生变化,数据库系统关键功能模块的普适性设计便缺乏针对性,导致性能下降。一个理想的数据库系统需要感知上层应用的负载变化,并且能够从过往的运行轨迹中主动学习,为此工业界和学术界近年来提出了自主驾驶数据库的概念。在本次报告中,蔡鹏老师首先介绍了AI赋能场景的一些范式,需对任务具有深刻的理解,明确定义任务完成的好坏程度,需对任务相关的数据具有深刻的理解,方能建立模型采集数据,通过数据驱动的方式帮助任务执行过程需要的决策,实现AI赋能。随后,蔡鹏老师对利用机器学习技术优化数据库系统的应用场景进行了介绍,包括查询优化、事务处理和数据库运维三个方面。最后,蔡鹏老师介绍了基于范围分区表的大规模历史事务数据的持续加载的性能优化问题。他指出,在分布式存储系统的批量加载数据过程中,存在系统的整体吞吐低,并行度不高的问题,通过利用机器学习技术预测每个分区的合并时间,设计单个存储节点上的调度策略和各个存储节点之间的调度算法,可以在大规模历史数据上实现高效连续加载,并且能够在不同类型的工作负载下实现良好的负载均衡性能。


参数化查询优化:

问题与数据驱动解决方案

李思佳


执行计划优化阶段要经历逻辑优化、物理优化等步骤,这些步骤会占用系统资源、消耗时间。如果将执行计划缓存下来,当相同的SQL语句多次执行时,可跳过优化阶段,直接进入执行阶段,不再进行重复的逻辑和物理优化过程,从而提高查询性能。参数化查询优化(Parametric Query Optimization,PQO)就是这样一种优化数据库参数查询性能的方法。参数化查询优化的目标是保证每个查询实例重用计划的执行效率,并提高总的计划缓存命中率。在本次报告中,华东师范大学数据科学与工程学院博士研究生李思佳同学围绕这一优化目标,阐述了实现这一目标需要面临的两个挑战,并回顾了过去30年来为解决这些挑战所提出的解决方案的局限性。为了应对这些挑战,报告提出了一种数据驱动的参数化查询优化解决方案,该方案将参数化查询优化分为两个阶段,对应不同的学习任务,并从工作负载与数据库的交互过程产生的数据中进行学习,能够自适应工作负载的变化,从而提高总的计划缓存命中率。这一方案可以有效地解决参数化查询优化的问题,与传统的参数查询优化相比,能够更好的适应复杂的工作负载变化,不仅在真实场景中有广泛的应用前景,在受限场景中,与专门为这些场景设计的解决方法相比也具有明显的优势。


XTuner:基于规则和搜索驱动

策略的一个可解释性调优系统

岳中伟


华东师范大学数据科学与工程学院博士研究生岳中伟同学在本次学术沙龙中介绍了一种可解释性的数据库参数调优系统XTuner。首先,岳中伟同学强调了数据库参数调优的重要性,它可以提高数据库的性能。然而,数据库参数数量巨大,并且参数之间的关系复杂,使得 DBA通常需要花费大量的时间和精力来配置数据库参数,甚至有可能无法胜任该工作。因此,需要提供一种自动化的数据库参数调优方法来帮助DBA进行调优工作。鉴于目前数据库参数调优方法在调优过程中无法同时满足高效性、可解释性和数据库性能的大幅提升,岳中伟同学提出了基于规则和搜索的可解释性的调优系统XTuner。XTuner包含两个部分:Rule-based 子调优和Search-based 子调优。具体来说,Rule-based子调优首先使用人工总结的规则进行参数值初始化、参数分类、参数之间关系的编码。然后,DBMS使用初始化的参数值重新运行数据库,并对数据库系统瓶颈进行分析。之后,Search-based 子调优根据当前的系统瓶颈,从相应的参数类别中随机选择一个参数。随后,XTuner对所选的参数进行值探索,在探索过程中同时对相关的参数进行调整,当满足某些条件(如调优时间或迭代次数)时,XTuner将终止参数调优过程。最后,XTuner把探索过程中确定的最佳参数值应用到数据库中。实验结果验证XTuner在最终调优结果、可解释性和高效性方面均优于其它调优方法。


数据库性能异常的智能诊断

沈怡琪


数据库突发的异常往往会导致数据库服务能力的降低甚至崩溃,然而,数据库的性能异常可能来自各种各样的原因。因此,根因分析阶段在诊断和恢复数据库性能异常中起到了尤为重要的作用,其构建了数据库异常检测和恢复之间的桥梁,为后续修复建议阶段提供了基础和方向。在这次报告中,华东师范大学数据科学与工程学院硕士研究生沈怡琪同学首先介绍了在学术界和工业界中基于数据驱动的根因诊断的技术现状。学术界进行根因分析主要分为两类思想,推理异常与根因之间的因果关系以及依赖于同一类问题具有相似的异常模式的假设。然后,沈怡琪同学针对当前研究方法的模型诊断结果粒度和精度限制,提出了一种基于数据库知识图谱的智能根因诊断技术,并从根因分类、故障注入和图谱构建三方面对技术细节进行了详细的介绍。通过将数据库故障的根因分成三级根因,不仅能分辨出多个同时存在的根因,更获得了根因之间的因果联系。故障注入工具不仅要求涵盖各种不同类型的故障场景,更需明确造成故障的三层根因分别是什么,以用于后续基于知识图谱的故障根因分析模型的训练和诊断。最后,沈怡琪同学以锁等待超时故障和慢查询故障为例,详细的讲解了构造的知识图谱结构。




02

活动总结






本次学术沙龙由华东师范大学研究生院主办,数据科学与工程学院、数据科学与工程学院研究生会承办。在本次学术沙龙中,蔡鹏教授和三位研究生同学分享的报告展现了AI赋能数据库系统的应用场景和前沿技术,开阔了研究生的科研视野。期待本次线下学术沙龙能够激发同学们开展相关研究的科研灵感,助力同学们未来的科研创新。





 文 | 沈怡琪、李思佳、岳中伟、晏玉琴

图片、排版 | 晏玉琴

审核 | 蔡鹏