阿里云数据库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
本文来自云栖社区合作伙伴“数据和云”,了解相关信息可以关注“数据和云”微信公众号

相关文章
|
3天前
|
缓存 弹性计算 NoSQL
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
|
3天前
|
安全 NoSQL 关系型数据库
阿里云数据库:助力企业数字化转型的强大引擎
阿里云数据库:助力企业数字化转型的强大引擎
|
4天前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
6天前
|
人工智能 Cloud Native 关系型数据库
阿里云关系型数据库连续五年蝉联榜首
全球领先的IT市场研究和咨询公司IDC发布了《2023年下半年中国关系型数据库软件市场跟踪报告》,2023年阿里云整体市场份额(公有云+本地部署模式)稳居第一,其中公有云市场份额高达39.2%,自2019年起连续5年蝉联榜首。
|
7天前
|
安全 NoSQL 关系型数据库
阿里云数据库:构建高性能与安全的数据管理系统
在企业数字化转型过程中,数据库是支撑企业业务运转的核心。随着数据量的急剧增长和数据处理需求的不断增加,企业需要一个既能提供高性能又能保障数据安全的数据库解决方案。阿里云数据库产品为企业提供了一站式的数据管理服务,涵盖关系型、非关系型、内存数据库等多种类型,帮助企业构建高效的数据基础设施。
23 2
|
14天前
|
存储 运维 Cloud Native
阿里云国际CloudOps的优势和云上运维的特点
阿里云国际CloudOps的优势和云上运维的特点
|
15天前
|
存储 分布式计算 数据库
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
|
15天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
阿里云瑶池在2024云栖大会上重磅发布由Data+AI驱动的多模数据管理平台DMS:OneMeta+OneOps,通过统一、开放、多模的元数据服务实现跨环境、跨引擎、跨实例的统一治理,可支持高达40+种数据源,实现自建、他云数据源的无缝对接,助力业务决策效率提升10倍。
|
4天前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
4天前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本

热门文章

最新文章