阿里云数据库CloudDBA的自动运维与智能优化探索

简介: 数据库诊断优化是提高数据库性能和稳定性的关键技术之一。过去几年阿里巴巴集团数据库规模急剧增长并且业务变化越来越快,传统DBA人工加工具的诊断和优化方法在规模如此之大,业务场景如此复杂的今天面临极大的挑战。

数据库诊断优化是提高数据库性能和稳定性的关键技术之一。过去几年阿里巴巴集团数据库规模急剧增长并且业务变化越来越快,传统DBA人工加工具的诊断和优化方法在规模如此之大,业务场景如此复杂的今天面临极大的挑战。于是,自动化、智能化的运维方法和工具的需求就尤为迫切。
阿里巴巴技术团队在这方面不断摸索与尝试,并推出了CloudDBA智能化运维产品,将技术专家的运维智慧和经验凝聚成产品的规则引擎,并利用机器学习学习算法为产品导入智能化模块,从而将大量的数据库的诊断分析和优化工作都自动完成,不仅将DBA从繁冗的工作中解救出来,还能够帮助企业数据库快速上云。
数据库的问题诊断和性能分析对于DBA来说,一直是一件困难的事情。阿里的技术专家讲其原因总结为以下三点:

  • 第一难:获取信息难,问题诊断和性能优化都需要依赖于大量的系统数据,甚至是长期的历史数据,只有基于完备的信息才能给出准确的解法。架构一套完善的数据库监控体系,可不是一件易事,信息收集的全面深入则就更困难了。
  • 第二难:分析信息难,需要多年的经验才能给出准确的解法,也需要多样的场景才能覆盖比较全面的问题类型。经验与场景,一不好传承,二变化较快,三他人理解不易。
  • 第三难:优化手段难,找出问题了,知道怎么办了,也并不意味着就能马上解决问题,甚至有些解法是要深入到数据库引擎层代码优化,这可不是一朝一夕就能做好的。

那么阿里的云数据库是如何解决这些问题的呢?
针对获取信息难的问现状,为了给问题的诊断提供更详尽完整的基础数据,阿里的CloudDBA设计了特有的监控体系。
常见的监控如下图所示,图一是主动拉取监控信息方式,图二是由agent定期上报监控信息形式,一般图二架构也可以是图一基础上增加agent部分。

1
2

阿里云数据库监控体系要更深一步,监控内容面更广,同时监控手段更先进,内核团队针对监控特别优化,可以获取完整的数据库执行语句详情和数据库全局快照,而对性能影响微乎其微,最多带来2%的性能差异。
同时利用阿里云大数据技术能力,实现了冷热数据的计算加速,大量历史数据可以快速完成计算工作,可以很快给出分析结果,架构如下图,增加了从数据库到日志文件的写入部分强调阿里云特有的内核日志优化工作。

3

其次,针对数据库问题的分析,在产品中导入智能算法,并形成特有的四大引擎。
阿里云DBA专家多年优化诊断经验就沉淀在CloudDBA的规则引擎系统上,通过规则引擎可轻松实现一种业务场景的问题、条件与解法的研发。并且利用了机器学习能力,自动去抽象各业务的独有特色,可以很方便的实现独立业务和普适规则的匹配,为业务特有场景轻松推荐最优的优化解法。由于阿里云业务的快速发展,目前数据库实例已经超过10万,规则引擎中的优化模型越来越完备,而差异算法可轻松识别新的业务场景,若真出现没有遇见过的“遗漏”,也可最快兼容。
图四就是CloudDBA的四大引擎工作架构图,将专家知识库作为规则引擎工作的原材料,这是阿里云数据库服务海量实例的特有数据。

4

四大引擎解释说明如下:
规则引擎:后台灵活配置各种性能规则,问题、条件和解法,可快速实现新场景的优化方案开发。
性能分析引擎:实时分析潜在性能风险,每种性能都有预先可定制的性能规则。
实时诊断引擎:实时响应用户诊断具体对象问题,每个资源都有一系列定制化的检查规则列表。
SQL优化引擎:基于历史数据,分析SQL、事务、锁等核心DB资源的性能问题,并给出优化改进建议。
同时,在产品化的界面上,数据库的分析及诊断通过完善的报告形式展示给用户,如下图所示:

5

而广大DBA最关注的问题莫过于数据库能否真的实现自动优化,尤其是oow上推出了Oracle 18c自治数据库之后。那么阿里的云数据库能否做到真的自动优化呢?(你可能感兴趣:深入解读Oracle 18c对于DBA的影响及应对措施)
客观上讲,阿里的云数据库目前在自动性能优化的方面仍在不断的探索当中,目前的自动优化功能主要是帮助数据库寻找最佳执行路径,将其优化成更为简洁和高效的视图:

6

也就是将其解析为DBA以外的人员更能理解的视图。包括产品、架构师、开发等。
自动优化的实例如下:

7

随着技术的发展和业务的创新,海量非结构化数据和高并发场景成为企业迫切需要关注的问题,而人工的运维和管理远远不能满足业务的需求,正在这种情况下,数据库系统的运维终将朝着自动化和智能化的方向不断演进。
更多你想了解的技术细节在这里:
今年第七届数据技术嘉年华上,我们有幸邀请到了来自阿里的产品专家胡航丽为大家带来 围绕CloudDBA的主题分享,将围绕CloudDBA产品,解读阿里在数据库的自动化和智能话运维上的探索尝试及成果,分享CloudDBA产品的核心的技术及设计理念。分享主题:CloudDBA-数据库智能优化服务。

原文发布时间为:2017-10-29
本文作者:Roman Trusov
本文来自云栖社区合作伙伴“数据和云”,了解相关信息可以关注“数据和云”微信公众号

相关文章
|
4天前
|
缓存 监控 关系型数据库
优化数据库查询性能的五个技巧
在当今互联网时代,数据库查询性能是开发人员面临的重要挑战之一。本文将介绍五个有效的技巧,帮助开发人员优化数据库查询性能,提升系统的响应速度和稳定性。
|
6天前
|
存储 SQL BI
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
|
1天前
|
云计算
阿里云研发工程师:HPC优化实例动手实验讲解
近日,全球领先的云计算厂商阿里云宣布最新HPC优化实例hpc8ae的正式商业化,该实例依托阿里云自研的「飞天+CIPU」架构体系,搭载第四代AMD EPYC处理器,专为高性能计算应用优化,特别适用于计算流体、有限元分析、多物理场模拟等仿真类应用,CAE场景下的性价比最少提升50%。
|
4天前
|
数据可视化 Linux 数据库
探索 Linux 命令 `db_tuner`:优化数据库性能的利器
`db_tuner` 是一个假设的 Linux 工具,用于数据库性能优化,提供状态检查、查询分析、配置调优、索引建议及报告生成等功能。虽然不是真实命令,但类似工具如 `mysqltuner` 可实现这些功能。通过安装和运行 `db_tuner`,DBA 可以提升数据库性能,解决瓶颈问题。
|
5天前
|
关系型数据库 分布式数据库 数据库
阿里云618创新加速季数据库分会场全攻略
2024年阿里云618创新加速季活动已开启,数据库分会场推出多重优惠。RDS MySQL低至1折,部分产品享超值首购优惠,三个月仅需1折,续费也有折扣。此外,每天10点还有限时秒杀活动,云产品低至6.5折。新用户在新人专区购买指定规格可享首年折扣,还有数据库上云组合购优惠和开发者动手实践奖励。企业用户可申请5亿算力补贴,加速数字化转型。更多活动详情和优惠信息,可访问官方活动页面了解。
|
6天前
|
SQL 关系型数据库 MySQL
MySQL数据库——SQL优化(3/3)-limit 优化、count 优化、update 优化、SQL优化 小结
MySQL数据库——SQL优化(3/3)-limit 优化、count 优化、update 优化、SQL优化 小结
12 0
|
6天前
|
SQL 关系型数据库 MySQL
MySQL数据库——SQL优化(2/3)-order by 优化、group by 优化
MySQL数据库——SQL优化(2/3)-order by 优化、group by 优化
10 0
|
6天前
|
存储 SQL 关系型数据库
MySQL数据库——SQL优化(1/3)-介绍、插入数据、主键优化
MySQL数据库——SQL优化(1/3)-介绍、插入数据、主键优化
12 1
|
6天前
|
存储 缓存 测试技术
数据库在云存储环境中的配置与优化
【6月更文挑战第6天】探讨数据库在云存储的配置与优化,包括选择合适云服务、设计高效架构、查询语句优化、参数调整、数据分区索引、备份恢复策略、资源监控及性能测试。通过实践与学习,提升应对云环境中的数据库挑战能力。如有问题,欢迎讨论。
30 0