数据库“自动驾驶”,腾讯云原生数据库 X AI 探索与突破!
Posted QcloudCommunity
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库“自动驾驶”,腾讯云原生数据库 X AI 探索与突破!相关的知识,希望对你有一定的参考价值。
导语 | 腾讯云原生数据库团队最新研究成果入选国际顶会SIGMOD,数据库结合AI形成自治大脑,并在2022年智能调优人机大赛中战绩不菲,标志着腾讯云在数据库自治领域取得重大突破,实现性能领先。
加入AI技术,形成数据库自治大脑
—— 周可/华中科技大学教授
周可教授表示,在海量数据的大背景下,DBA(人工运维)的增长远远跟不上数据的增长,且用户负载具有多样性和动态性,一成不变的运维方式已不能够满足用户的需求。把AI加入到数据库,形成数据库的自治大脑,符合数据库自治的发展方向。
实现数据库自治的基本框架包括观察、分析、决策三个方面。用更低的成本收集负载数据,根据收集到的数据选择合适的方法进行分析,最后决策部分解决何时部署,量化操作以便于模型处理,进行反馈操作使模型能够进行自学习,自优化,从而使自治数据库可以在不需要人工辅助的前提下,针对特定的数据和负载自动地进行配置、管理和优化。
未来,数据库自治面临的挑战有三方面:
数据库负载动态多样,需要保证数据库的高效适应性;
用更少的资源,保证数据库的性能稳定性;
数据库自治操作具有可解释性,以便帮助系统管理员从中学习,还可以促进系统的优化发展。
以尽可能少的时间,获得较好的调优效果
—— 邢家树/TEG数据库研发部/云原生数据库研发中心/高级工程师
数据库的参数多,调优难度大,运维人时成本高;现存工具功能有限,耗时久且效果一般;部分用户没有专职运维团队,参数调优更是难以实现。针对种种困难,腾讯云数据库团队推出参数调优服务,端到端地自动调优数据库参数。相比于现存方法,CDBTune(腾讯云mysql混合调优系统)无需细分负载类型,无需积累大量样本,可智能学习参数调优过程,获得较好的参数调优效果 。
原理上采用深度强化学习模型。通过对数据库进行压测,记录数据库的内外部指标,生成样本进行学习。使用遗传算法和专家经验进行快速预热,通过并行架构显著提升调优速度。实行端到端的设计,简单、高效且易于训练,易于实现服务化,能够在尽可能少的时间里,为用户找到最佳调优方向。
落地到工程实践应用层面。分离服务调度和任务执行工作,由worker执行具体的任务。Learner任务负责抽取样本,计算网络梯度,更新神经网络,为Actor推荐数据库参数。Actor则负责与训练实例交互,设置参数,回放流量,并收集性能数据;每完成一轮,从Learner获取新的参数推荐,形成闭环。整体上实现为并行架构,具备高可用、可扩展、任务自动恢复等能力。
数据库自治“监控-诊断-解决”AI技术实践
—— 张远/TEG数据库研发部/云原生数据库研发中心/专家工程师
在数据库服务中,数据库资源包括内存/IO/CPU,资源的监控,异常的识别、检测非常重要,只有合理地使用数据库资源,才能保持数据库服务的稳定高效。腾讯云MySQL的异常检测能力,可自动发现异常(内存分析、内核埋点、io延迟硬件资源统计),对异常进行识别,实现异常检测内部闭环,降低运维压力。
腾讯云MySQL可设置SQL限流功能,在发现异常请求之后,对异常业务SQL进行限流,从而保证正常SQL语句能够运行;改进MySQL官方原有直方图,推出Compressed直方图,避免了因数据倾斜导致统计信息不准,选错计划而导致的问题;推出Statment Outline功能,将用户需要的查询计划固化下来,不需要修改SQL语句,从Outlint表中即可查询到对应的计划,从而提升用户使用体验;对新建索引进行并行优化,推出并行排序优化,并行构建btree,与官方mysql对比,性能更好(加速比最高可到15,是官方mysql的5倍),功能更全;优化器自治方面,跟踪业务SQL性能数据 (SQL标签,性能埋点,变化跟踪),自动产生优化策略(统计信息,虚拟索引,计划干预),验证优化策略并灰度生效,实现SQL调优闭环,降低规模化运营压力。
针对特定业务场景性能问题,对死锁场景优化,设置死锁检测开关,丰富死锁信息,对事务锁优化,降低发生死锁的概率同时减少了锁资源占用;对电商业务的秒杀场景,动态一键开启热点更新保护功能,使业务无感知,秒杀场景性能提升50倍;迁移切换场景优化,通过主备缓存同步优化解决HA预热时间长等问题,使HA业务平滑过度,减少抖动。
数据库“智能化”,以适应任何业务场景构
—— 程昌明/CSIG云产品一部/数据库中心/高级产品经理
由于业务系统的千差万别,针对业务的参数调优是令数据库管理者头痛的难题,往往需要借助经验去构筑一套相对“有效”的参数模版,往往模板无法应对所有情况。“智能”以适应任何业务场景。
腾讯云MySQL在2019和2022年发表2篇SIGMOD顶级论文:
2019年,腾讯云数据库产品团队首度提出基于深度强化学习(DRL)的端到端云数据库参数调优系统CDBTune,该研究论文“An End-to-End Automatic Cloud Database Tuning System Using Deep Reinforcement Learning”入选SIGMOD Research Full Paper(研究类长文)
2022年,腾讯云数据库产品团队最新研究成果入选 SIGMOD Research Full Paper(研究类长文),论文题目为“HUNTER: An Online Cloud Database Hybrid Tuning System for Personalized Requirements”,标志着腾讯云数据库团队在数据库AI智能化上取得进一步突破,实现性能领先。
通过AI智能分析的方式,能够获得最佳的调参效果;通过“一键”方式,完成复杂的调参过程,获得最佳参数设置建议。根据业务情况,业务每个阶段需要的特性是不一样的。腾讯云MySQL的最佳实践可对应到业务的以下三个阶段:
实例新购阶段:针对每一种场景训练最优配置,尽可能匹配业务特征,不同的工作负载上有15%-50%的提升。
业务快速迭代阶段:确定业务类型,不同的场景根据自身情况完全自定义,预估优化结果,一键快速应用到实例。以游戏为例,开局时玩家疯狂涌入;以电商为例,购物峰值的产生;有预见性地提前设置好最佳参数以应对即将到来的数据库峰值压力。
业务稳定运行阶段:通过对数据库的工作负载特征捕获、重放,对监控指标、SQL运行状态进行监控分析,不断通过深度学习调整参数值以最终输出最佳参数值。
数据库自治未来的“智能”展望 ,除了数据库参数,还有各种各样的因素影响着数据库的高效运行,SQL执行效率、索引是否合理、锁、资源配置等都可以通过“AI”的方式得到解决。
腾讯云MySQL“智能调参”将于5月份对外发出公测邀请,敬请期待!
数据库专家怎么说
以上是关于数据库“自动驾驶”,腾讯云原生数据库 X AI 探索与突破!的主要内容,如果未能解决你的问题,请参考以下文章
自动驾驶“稳打地基”,小鹏汽车基于阿里云建自动驾驶AI智算中心算力可达600PFLOPS
云原生的弹性 AI 训练系列之一:基于 AllReduce 的弹性分布式训练实践