"/>
为推动数据库领域技术创新,赋能企业转型升级,腾讯云原生数据库团队持续发力,团队最新研究成果入选2022年国际顶会SIGMOD,并在2022年智能调优人机大赛中战绩不菲。这标志着腾讯云数据库在数据库自治领域取得重大突破,实现性能领先。 腾讯云数据库云原生团队近期举办了线上直播知识分享活动“腾讯云数据库自治AI技术首次解密”,本次直播对数据库自治领域进行行业探讨,并分享了腾讯云数据库自治的AI研究和实践经验。 加入AI技术形成数据库自治大脑 周可 / 华中科技大学教授 周可教授表示,在海量数据的大背景下,DBA(人工运维)的增长远远跟不上数据的增长,且用户负载具有多样性和动态性,一成不变的运维方式已不能够满足用户的需求。把AI加入到数据库,形成数据库的自治大脑,符合数据库自治的发展方向。 实现数据库自治的基本框架包括观察、分析、决策三个方面。用更低的成本收集负载数据,根据收集到的数据选择合适的方法进行分析,最后决策部分解决何时部署,量化操作以便于模型处理,进行反馈操作使模型能够进行自学习,自优化,从而使自治数据库可以在不需要人工辅助的前提下,针对特定的数据和负载自动地进行配置、管理和优化。 未来,数据库自治面临的挑战有三方面:
以尽可能少的时间 获得较好的调优效果 邢家树 / 腾讯云数据库高级工程师 数据库的参数多,调优难度大,运维人时成本高;现存工具功能有限,耗时久且效果一般;部分用户没有专职运维团队,参数调优更是难以实现。针对种种困难,腾讯云数据库团队推出参数调优服务,端到端地自动调优数据库参数。相比于现存方法,CDBTune(腾讯云MySQL混合调优系统)无需细分负载类型,无需积累大量样本,可智能学习参数调优过程,获得较好的参数调优效果 。 原理上采用深度强化学习模型。通过对数据库进行压测,记录数据库的内外部指标,生成样本进行学习。使用遗传算法和专家经验进行快速预热,通过并行架构显著提升调优速度。实行端到端的设计,简单、高效且易于训练,易于实现服务化,能够在尽可能少的时间里,为用户找到最佳调优方向。 落地到工程实践应用层面。分离服务调度和任务执行工作,由worker执行具体的任务。Learner任务负责抽取样本,计算网络梯度,更新神经网络,为Actor推荐数据库参数。Actor则负责与训练实例交互,设置参数,回放流量,并收集性能数据;每完成一轮,从Learner获取新的参数推荐,形成闭环。整体上实现为并行架构,具备高可用、可扩展、任务自动恢复等能力。 数据库自治 “监控-诊断-解决” AI技术实践 张远 / 腾讯云数据库专家工程师 在数据库服务中,数据库资源包括内存/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业务平滑过度,减少抖动。 数据库“智能化”以适应任何业务场景程昌明 / 腾讯云数据库高级产品经理 由于业务系统的千差万别,针对业务的参数调优是令数据库管理者头痛的难题,往往需要借助经验去构筑一套相对“有效”的参数模版,往往模板无法应对所有情况。“智能”以适应任何业务场景。 腾讯云MySQL在2019和2022年发表2篇SIGMOD顶级论文:
通过AI智能分析的方式,能够获得最佳的调参效果;通过“一键”方式,完成复杂的调参过程,获得最佳参数设置建议。根据业务情况,业务每个阶段需要的特性是不一样的。腾讯云MySQL的最佳实践可对应到业务的以下三个阶段: 实例新购阶段:针对每一种场景训练最优配置,尽可能匹配业务特征,不同的工作负载上有15%-50%的提升。 业务快速迭代阶段:确定业务类型,不同的场景根据自身情况完全自定义,预估优化结果,一键快速应用到实例。以游戏为例,开局时玩家疯狂涌入;以电商为例,购物峰值的产生;有预见性地提前设置好最佳参数以应对即将到来的数据库峰值压力。 业务稳定运行阶段:通过对数据库的工作负载特征捕获、重放,对监控指标、SQL运行状态进行监控分析,不断通过深度学习调整参数值以最终输出最佳参数值。 数据库自治未来的“智能”展望 ,除了数据库参数,还有各种各样的因素影响着数据库的高效运行,SQL执行效率、索引是否合理、锁、资源配置等都可以通过“AI”的方式得到解决。 腾讯云MySQL“智能调参“将于5月份对外发出公测邀请,敬请期待! 数据库专家怎么说﹀ ﹀ ﹀ 浅析腾讯云数据库高可用特性|云原生篇 数据库纳管平台DBhouse的技术路线与实践 ↓↓点击阅读原文,了解更多优惠 上一篇:活动预告|DIVE全球基础软件创新大会-腾讯云基础软件创新实践专场 下一篇:未来5年,做产品or运营,哪个更有“钱”途? |