腾讯云原生数据库团队继续努力推动数据库领域的技术创新,赋予企业转型升级,团队最新的研究成果入选2022年国际顶会SIGMOD,并在2022年度智能调优人机大赛记录不菲。这腾讯云数据库在数据库自治领域取得重大突破,实现性能领先。
腾讯云数据库云原生团队最近举办了在线直播知识共享活动腾讯云数据库自治AI技术首次解密,本次直播讨论了数据库自治领域,并分享了腾讯云数据库自治AI研究和实践经验。
完整的视频回顾链接
分享人:周可 / 华中科技大学教授
周可教授说,在海量数据的背景下,DBA(人工操作和维护)的增长远远不能跟上数据的增长,用户负载是多样化和动态的,不变的操作和维护模式不能满足用户的需求。把AI加入数据库,形成符合数据库自治发展方向的自治大脑。
实现数据库自治的基本框架包括三个方面:观察、分析和决策。以较低的成本收集负载数据,根据收集到的数据选择合适的分析方法,最终决策部分解决何时部署,定量操作方便模型处理,反馈操作使模型能够学习、优化,从而自治数据库可以自动配置、管理和优化特定的数据和负载,而无需人工辅助。。
未来,数据库自治将面临三个挑战:
分享人:邢家树 / 腾讯云数据库高级工程师
数据库参数多,调优难度大,运维成本高;现有工具功能有限,耗时,效果一般;有些用户没有专职的运维团队,参数调优难以实现。腾讯云数据库团队推出了各种困难参数调优服务,端到端自动调优数据库参数。与现有方法相比,CDBTune(腾讯云MySQL无需细分负载类型,无需积累大量样优过程,无需细分负载类型,积累大量样本,获得更好的参数调优效果 。
原则上采用深度强化学习模型。通过对数据库的压力测量,记录数据库的内部和外部指标,生成学习样本。利用遗传算法和专家经验进行快速预热,通过并行架构显著提高优化速度。端到端设计简单、高效、易于培训,易于实现服务,尽可能少地为用户找到最佳的优化方向。
落地到工程实践应用层面。分离服务调度和任务执行worker执行具体任务。Learner任务负责提取样本,计算网络梯度,更新神经网络Actor推荐数据库参数。Actor负责与训练实例交互,设置参数,回放流量,收集性能数据;每一轮,从Learner获取新的参数推荐,形成闭环。作为一个并行架构,具有高可用性、可扩展性、自动恢复任务等能力。
分享人: 张远 / 腾讯云数据库专家工程师
数据库资源包括内存/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业务过度平滑,减少抖动。
分享人:程昌明 / 腾讯云数据库高级产品经理
由于业务系统的差异,业务参数调整是数据库经理头疼的问题。通常需要借助经验构建一个相对有效的参数模板,模板往往无法处理所有情况。智能以适应任何业务场景。
腾讯云MySQL2019年和2022年发表两篇文章SIGMOD顶级论文:
20192000年,腾讯云数据库产品团队首次提出基于深度(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月发出公测邀请,敬请期待!
插入图片描述
插图描述 