做数仓运维,你必须要认识这个眼观六路耳听八方的“能人” (2)

GaussDB(DWS)使用DMS来承载数据库的智能运维体系。DMS将会串起数据库运维过程中的监控,分析,处理三个步骤,分别对应上文提到的数据库智能运维体系中的眼,脑,手三部分,从概念设计上形成运维体系的闭环。

监控部分:主要负责数据库运行状态数据的采集、存储和可视化展示,这一部分基本等同于传统的数据库的监控业务。这一部分功能和指标的选取,我们参考了友商以及运维团队的建议,将监控指标分为底层IT系统运维指标和数据库系统运维指标两类,正在分别逐步补齐和完善中。监控模块是DMS数据库运智能监控运维体系首先发力,并要在短时间内形成竞争力的模块。

分析部分:作为整个DMS数据库智能运维体系的大脑,该部分是承担运维数据分析与决策的关键模块。该部分因为其复杂性,目前还处于设计构想阶段。初步规划有三个子模块,时间序列的趋势分析子模块,该模块主要用来做趋势预测分析,用来预判潜在的问题;逻辑推断子模块,用户分析问题现象与实际根因之间的关系,可以实现从问题现象到触发原因的推断,初步考虑使用搜索引擎技术实现;知识图谱子模块,主要用于现象、根因与解决方案之间的映射关系表示,方便从定位的根因中找到最合适的解决方案。

处理部分:主要由DWS提供的数据库管理功能承担,目前可以提供数据库参数配置(可配置参数少,需要进一步丰富),工作负载队列配置,集群安装/卸载,集群重启,集群扩容,集群数据重分布以及节点温备等运维能力。

GaussDB(DWS)数据库智能运维典型用户与需求

为了进一步理清数据库智能运维产品的设计思路,我们计划从用户的角度分析其需求,然后从需求导出功能(工具)页面设计,从功能(工具)页面总结出所需监控数据库指标。通过分析数据库监控系统的各种使用场景,我们对数据库监控系统的用户做了用户角色画像,定义了数据库运维过程中的三种角色,并认为不同角色仅仅关注数据库运维的一个侧面。在实际的数据库运维场景中,可能同一个用户会身兼多种角色,但是这里我们为了方便分析仅仅从逻辑上定义这三种角色。

1622012201849063412.png

应用开发:主要指客户侧的应用开发角色,他们负责设计具体的业务SQL。他们关心业务SQL执行的正确性和执行效率。应用开发工程师需要用到web SQL来调试其SQL语句的查询效率;需要用到查询监控页面来查看业务SQL在实际执行场景中的表现和资源消耗;需要用到工作负载队列监控来确认新开发的业务SQL是否在合适的工作负载队列中,以及所配置的熔断规则是否合理,等等。

SRE:指的是华为云侧的数据库运维角色,他们通常一个人需要负责成百上千个集群的稳定运行,他们需要能够迅速识别出集群运行状态的异常,集群资源瓶颈以及集群潜在的扩容需求,并且他们还需要积极响应客户的求助,帮助客户定位,确认和解决问题。SRE需要节点资源监控来识别集群中的资源倾斜;需要识别集群资源消耗基线变化趋势,从而识别到扩容需并提醒用户;需要关注存储变化以推算下一次常规保养的时间点并自动规划;同时还需要响应用户需求,使用DMS提供的问题定位工具,辅助用户定位现网问题。

DBA:指的是GaussDB(DWS)数据库集群专家,他们熟悉数据库设计方法论,数据库的调优,数据库问题定位。他们需要分析定位数据库的故障,从资源和业务角度运用多种工具综合分析定位系统故障,系统稳定性和潜在瓶颈;也需要帮助用户从业务、数据库设计的角度去推荐数据库的索引,分布列配置,根据用户业务水平推荐用户购买合适的集群规模等等;同时还需要辅助应用开发工程师调优引起性能劣化的SQL语句;在找到确切的故障根因后,推荐合适的解决方案修复故障。

在一般来说在公有云场景中,用户角色一般只有应用开发和SRE两种,公有云场景中的SRE角色往往涵盖了DBA的角色。我们在这里将运维角色细分的目的,其实是要展示一个完整的运维场景沙盘,将客户的运维诉求分门别类的罗列出来,为后续进一步的功能(工具)页面设计和运维场景设计提供基础。

GaussDB(DWS)数据库智能运维指标

数据库监控指标数量多,形式和逻辑复杂,根据指标类型可以分为逻辑关系物理关系两种。其中逻辑关系指数库内部逻辑关系,比如,最顶层是数据库,数据库中有多个schema,schema中有多个表,数据库中有多个用户,一个用户可以有多个schema和表。而物理关系是指,gaussDB(DWS)集群的拓扑关系,比如,一个数据库集群是由多个计算节点构成,每个计算节点上会部署多个计算实例。这两种指标关系都会影响到数据库指标的采集维度和聚合展示维度。

1622014301360010441.png

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygpgf.html