阿里云数据库CloudDBA智慧解决数据库性能优化和问题诊断难题

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
简介: 阿里云数据库从9月28号起开始在控制台推出CloudDBA功能,通过客户申请的方式灰度打开,助力客户快速定位诊断问题,优化数据库,帮助客户更高效的使用云数据库。此项功能集相信会成为云数据库的标准配置。

背景


我要申请CloudDBA免费体验




    阿里云数据库为何推出CloudDBA问题诊断(trouble shooting) 性能优化performance tunning) 一直都是数据库领域的专业问题,需要资深DBA的专业技能才能胜任解决,但这样的人才是稀缺的,无法及时满足大部分的企业紧急需求。如果有一款产品能够在大多数情况下,客户借助它非常迅速的找出数据库性能隐患点、排查出问题症结所在,这将无疑协助客户解决燃眉之急,可以大大降低风险和提高效率。

 

     先来分析下为什么数据库问题诊断和性能优化会非常难?

第一难:获取信息难,问题诊断和性能优化都需要依赖于大量的系统数据,甚至是长期的历史数据,只有基于完备的信息才能给出准确的解法。架构一套完善的数据库监控体系,可不是一件易事,信息收集的全面深入则就更困难了。

第二难:分析信息难,需要多年的经验才能给出准确的解法,也需要多样的场景才能覆盖比较全面的问题类型。经验与场景,一不好传承,二变化较快,三他人理解不易。

第三难:优化手段难,找出问题了,知道怎么办了,也并不意味着就能马上解决问题,甚至有些解法是要深入到数据库引擎层代码优化,这可不是一朝一夕就能做好的。


CloudDBA优势

    阿里云数据库CloudDBA 是如何全面解决这三个问题的呢?

 

CloudDBA 完备的性能监控数据

我们当然可以自己搭建监控体系,采用通用开源软件来搭建,但这都意味着投入成本,同时需要对相应的系统比较了解。有些监控系统还无法满足特定业务需要,为了满足场景诉求必须要二次开发,企业之间的大量通用重复劳动是肯定存在的。常见的监控如下图图一和图二,图一是主动拉取监控信息方式,图二是由agent定期上报监控信息形式,一般图二架构也可以是图一基础上增加agent部分。

 

CloudDBA数据库性能优化获取监控数据1CloudDBA数据库性能优化获取监控数据2

 

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

 

CloudDBA数据库性能优化获取性能数据3


CloudDBA 智能化学习分析手段

阿里云数据库上运行着各行各业的数据库系统,覆盖了海量业务场景,阿里云DBA专家多年优化诊断经验就沉淀在CloudDBA的规则引擎系统上,通过规则引擎可轻松实现一种业务场景的问题、条件与解法的研发。并且我们利用了机器学习能力,自动去抽象各业务的独有特色,可以很方便的实现独立业务和普适规则的匹配,为业务特有场景轻松推荐最优的优化解法。由于阿里云业务的快速发展,目前数据库实例已经超过10万,规则引擎中的优化模型越来越完备,而差异算法可轻松识别新的业务场景,若真出现没有遇见过的“遗漏”,我们也可最快兼容。

图四就是CloudDBA的四大引擎工作架构图,请注意专家知识库并不是文档,而是规则引擎工作的原材料,这是阿里云数据库服务海量实例的特有数据。


CloudDBA数据库性能优化架构


四大引擎解释说明如下:

规则引擎:后台灵活配置各种性能规则,问题、条件和解法,可快速实现新场景的优化方案开发。

性能分析引擎:实时分析潜在性能风险,每种性能都有预先可定制的性能规则。

实时诊断引擎:实时响应用户诊断具体对象问题,每个资源都有一系列定制化的检查规则列表。

SQL优化引擎:基于历史数据,分析SQL、事务、锁等核心DB资源的性能问题,并给出优化改进建议。

 

CloudDBA 完备的调优与诊断工具

依托于云数据库的强大内核,使得在不影响业务的前提下调优与诊断变得非常简单。云数据库天然的弹性能力,无论升级或者调优对用户影响都极小。阿里云数据库内核团队,长期对技术孜孜不倦的追求,优化了大量的引擎层代码,如热升级、连接池、online DDL优化、热点行优化、在线限流工具、并行复制、秒杀补丁等,这使得调优和解决问题变得相当简单,绝大数情况您只需要一点就可以解决问题。

 

CloudDBA功能概述

CloudDBA根据用户使用场景,从时间维度将功能切分为两大块,分别是一个专注于当下的问题诊断和SQL操作相关功能,另外一个则专注于对历史数据进行全面分析产出系统性能优化方法功能。但这两者也不是严格的根据时间切割,如SQL操作中对语句性能的分析,也会参考过去历史性能数据产出最优的优化分析。

问题诊断功能,描述数据库当下的状态,性能问题、其他问题都会以用户一种可见资源表现出来,如CPU、连接数等。CloudDBA以这类面向用户的资源为起点,分析可能引起该问题的原因,分析逻辑在后台做到可配置,开发新代码会非常的容易,并且分析逻辑会不断扩张。我们将每个用户可见资源(如CPU)定义为一个诊断项,每个诊断项在后台规则引擎中会定义一些检查条目,当诊断时会逐个检查条目进行诊断,没有问题就忽略,有问题就会返回给分析引擎和诊断引擎,这两个引擎会结合历史数据给出结果。

第一版CloudDBA问题诊断集合包括 CPU、空间、慢SQL、锁信息、热点表等基础内容。


CloudDBA获取锁信息


性能优化功能,用户可直接通过SQL操作来检查语句在指定数据库中执行是否会存在性能隐患,用户可以查看执行计划、诊断SQL获取优化结果,当然用户亦可在操作界面直接执行SQL查看结果。

CloudDBA基于内核优化的SQL审计文件,可快速查询指定时间段内的TOP SQL和问题事务。SQL语句可以根据执行次数、执行时间等多种方式排序,事务信息可找出事务包含的语句、事务执行次数、事务执行时间等信息,方便快速定位问题事务。


CloudDBA获取SQL性能


最后可基于时间段快速创建一份数据库诊断报告,报告可下载可分享,包含了数据库的全面分析,内容丰富如涵盖了索引、外键、死锁、连接、事务、SQL语句、空间、只读延迟等信息。一份报告就是一份数据库的快照,它涵盖了问题诊断和性能优化,如下图中展示了一个问题SQL的报告内容:


CloudDBA产出诊断报告


总结

阿里云数据库推出CloudDBA目的是协助客户定位解决问题,并将大量常见问题的诊断优化自动化,利用机器学习、大数据手段快速复制阿里云资深DBA的成熟经验,服务于云上企业。最后我们想说,让用户更高效使用云数据库是我们追求的唯一目标,且我们致力于将CloudDBA打造为云数据库的标准配置,而且我们不断学习不断改进永久迭代。


您可能还喜欢

历年双11实战经历者:我们是如何做数据库性能优化及运维-CloudDBA和天象

CloudDBA初体验:SQL优化建议

目录
相关文章
|
4天前
|
关系型数据库 分布式数据库 数据库
PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。
【7月更文挑战第3天】PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。通过数据分片和水平扩展支持微服务弹性,保证高可用性,且兼容MySQL协议,简化集成。示例展示了如何使用Spring Boot配置PolarDB,实现服务动态扩展。PolarDB缓解了微服务数据库挑战,加速了开发部署,为云原生应用奠定基础。
20 3
|
3天前
|
SQL 存储 Oracle
Oracle数据库中游标的工作原理与优化方法
Oracle数据库中游标的工作原理与优化方法
|
4天前
|
存储 关系型数据库 分布式数据库
PolarDB,阿里云的云原生分布式数据库,以其存储计算分离架构为核心,解决传统数据库的扩展性问题
【7月更文挑战第3天】PolarDB,阿里云的云原生分布式数据库,以其存储计算分离架构为核心,解决传统数据库的扩展性问题。此架构让存储层专注数据可靠性,计算层专注处理SQL,提升性能并降低运维复杂度。通过RDMA加速通信,多副本确保高可用性。资源可独立扩展,便于成本控制。动态添加计算节点以应对流量高峰,展示了其灵活性。PolarDB的开源促进了数据库技术的持续创新和发展。
20 2
|
3天前
|
SQL Java 数据库连接
Java中实现优化的数据库访问和查询性能
Java中实现优化的数据库访问和查询性能
|
4天前
|
存储 大数据 关系型数据库
从 ClickHouse 到阿里云数据库 SelectDB 内核 Apache Doris:快成物流的数智化货运应用实践
目前已经部署在 2 套生产集群,存储数据总量达百亿规模,覆盖实时数仓、BI 多维分析、用户画像、货运轨迹信息系统等业务场景。
|
4天前
|
存储 弹性计算 大数据
阿里云ECS以其强大的弹性计算与存储能力,为大数据处理提供了灵活、高效、成本优化的解决方案
阿里云ECS在大数据处理中发挥关键作用,提供多样化实例规格适应不同需求,如大数据型实例适合离线计算。ECS与OSS集成实现大规模存储,通过Auto Scaling动态调整资源,确保高效运算。案例显示,使用ECS处理TB级数据,速度提升3倍,成本降低40%,展现其在弹性、效率和成本优化方面的优势。结合阿里云生态系统,ECS助力企业数据驱动创新。
18 0
|
5天前
|
Java 数据库连接 应用服务中间件
数据库连接管理与性能优化方法
数据库连接管理与性能优化方法
|
12月前
|
SQL Cloud Native 关系型数据库
ADBPG(AnalyticDB for PostgreSQL)是阿里云提供的一种云原生的大数据分析型数据库
ADBPG(AnalyticDB for PostgreSQL)是阿里云提供的一种云原生的大数据分析型数据库
962 1
|
12月前
|
数据可视化 关系型数据库 MySQL
将 PostgreSQL 迁移到 MySQL 数据库
将 PostgreSQL 迁移到 MySQL 数据库
1317 2
|
11月前
|
SQL 存储 自然语言处理
玩转阿里云RDS PostgreSQL数据库通过pg_jieba插件进行分词
在当今社交媒体的时代,人们通过各种平台分享自己的生活、观点和情感。然而,对于平台管理员和品牌经营者来说,了解用户的情感和意见变得至关重要。为了帮助他们更好地了解用户的情感倾向,我们可以使用PostgreSQL中的pg_jieba插件对这些发帖进行分词和情感分析,来构建一个社交媒体情感分析系统,系统将根据用户的发帖内容,自动判断其情感倾向是积极、消极还是中性,并将结果存储在数据库中。
玩转阿里云RDS PostgreSQL数据库通过pg_jieba插件进行分词