数据库诊断优化是提高数据库性能和稳定性的关键技术之一。过去几年阿里巴巴集团数据库规模急剧增长并且业务变化越来越快,传统DBA人工加工具的诊断和优化方法在规模如此之大,业务场景如此复杂的今天面临极大的挑战。于是,自动化、智能化的运维方法和工具的需求就尤为迫切。 阿里巴巴技术团队在这方面不断摸索与尝试,并推出了CloudDBA智能化运维产品,将技术专家的运维智慧和经验凝聚成产品的规则引擎,并利用机器学习学习算法为产品导入智能化模块,从而将大量的数据库的诊断分析和优化工作都自动完成,不仅将DBA从繁冗的工作中解救出来,还能够帮助企业数据库快速上云。 数据库的问题诊断和性能分析对于DBA来说,一直是一件困难的事情。阿里的技术专家讲其原因总结为以下三点:
那么阿里的云数据库是如何解决这些问题的呢? 针对获取信息难的问现状,为了给问题的诊断提供更详尽完整的基础数据,阿里的CloudDBA设计了特有的监控体系。 常见的监控如下图所示,图一是主动拉取监控信息方式,图二是由agent定期上报监控信息形式,一般图二架构也可以是图一基础上增加agent部分。 阿里云数据库监控体系要更深一步,监控内容面更广,同时监控手段更先进,内核团队针对监控特别优化,可以获取完整的数据库执行语句详情和数据库全局快照,而对性能影响微乎其微,最多带来2%的性能差异。 同时利用阿里云大数据技术能力,实现了冷热数据的计算加速,大量历史数据可以快速完成计算工作,可以很快给出分析结果,架构如下图,增加了从数据库到日志文件的写入部分强调阿里云特有的内核日志优化工作。 其次,针对数据库问题的分析,在产品中导入智能算法,并形成特有的四大引擎。 阿里云DBA专家多年优化诊断经验就沉淀在CloudDBA的规则引擎系统上,通过规则引擎可轻松实现一种业务场景的问题、条件与解法的研发。并且利用了机器学习能力,自动去抽象各业务的独有特色,可以很方便的实现独立业务和普适规则的匹配,为业务特有场景轻松推荐最优的优化解法。由于阿里云业务的快速发展,目前数据库实例已经超过10万,规则引擎中的优化模型越来越完备,而差异算法可轻松识别新的业务场景,若真出现没有遇见过的“遗漏”,也可最快兼容。 图四就是CloudDBA的四大引擎工作架构图,将专家知识库作为规则引擎工作的原材料,这是阿里云数据库服务海量实例的特有数据。 四大引擎解释说明如下: 规则引擎:后台灵活配置各种性能规则,问题、条件和解法,可快速实现新场景的优化方案开发。 性能分析引擎:实时分析潜在性能风险,每种性能都有预先可定制的性能规则。 实时诊断引擎:实时响应用户诊断具体对象问题,每个资源都有一系列定制化的检查规则列表。 SQL优化引擎:基于历史数据,分析SQL、事务、锁等核心DB资源的性能问题,并给出优化改进建议。 同时,在产品化的界面上,数据库的分析及诊断通过完善的报告形式展示给用户,如下图所示: 而广大DBA最关注的问题莫过于数据库能否真的实现自动优化,尤其是oow上推出了Oracle 18c自治数据库之后。那么阿里的云数据库能否做到真的自动优化呢?(你可能感兴趣:深入解读Oracle 18c对于DBA的影响及应对措施) 客观上讲,阿里的云数据库目前在自动性能优化的方面仍在不断的探索当中,目前的自动优化功能主要是帮助数据库寻找最佳执行路径,将其优化成更为简洁和高效的视图: 也就是将其解析为DBA以外的人员更能理解的视图。包括产品、架构师、开发等。 自动优化的实例如下: 随着技术的发展和业务的创新,海量非结构化数据和高并发场景成为企业迫切需要关注的问题,而人工的运维和管理远远不能满足业务的需求,正在这种情况下,数据库系统的运维终将朝着自动化和智能化的方向不断演进。 更多你想了解的技术细节在这里: 今年第七届数据技术嘉年华上,我们有幸邀请到了来自阿里的产品专家胡航丽为大家带来 围绕CloudDBA的主题分享,将围绕CloudDBA产品,解读阿里在数据库的自动化和智能话运维上的探索尝试及成果,分享CloudDBA产品的核心的技术及设计理念。分享主题:CloudDBA-数据库智能优化服务。 还有来自阿里的资深专家王佳毅带来的技术干货,分享多年的数据库优化运维经验。 第七届数据技术嘉年华,于11月17、18日在北京盛大开幕,来自各个行业的技术、产品、架构等专家齐聚一堂,共同探索数据价值,重塑企业未来。目前限免报名中。 数聚价值 智胜未来】第七届数据技术嘉年华北京盛大开启! DBALife,"DBA的一天"精品海报大图; 122ARCH,Oracle 12cR2体系结构海报; |