亚麻籽和什么相克| skr什么意思| 真丝棉是什么面料| 尊字五行属什么| 日久生情什么意思| 耳朵尖的人什么命| 明天什么节| 属牛男和什么属相最配| 十一月三十是什么星座| 流产后吃什么补身体| 早泄吃什么药好| 月经下不来吃什么药| 糖尿病的根源是什么| 舌头有问题看什么科| 金屋藏娇定富贵是什么生肖| 喝酒后吃什么解酒最快| 脚扭了挂什么科| 为什么我的眼里常含泪水| 怀孕白细胞高是什么原因| 胃胀想吐吃什么药| 好好活着比什么都重要| 糖粉是什么| 夏天什么颜色最防晒| 教唆什么意思| 新疆以前叫什么| 什么叫浮小麦| 50至60岁吃什么钙片好| 什么是义齿| 梦见下雨是什么征兆| 兵解是什么意思| 梦见狗吃屎是什么意思| 什么的桃花| 夜盲吃什么维生素| 勤对什么| 屈光不正是什么意思| 脸上长痣是什么原因造成的| 一月六日是什么星座| 睡觉手麻是什么原因| 什么是无纺布| 什么是鸡胸病症状图片| 小孩晚上磨牙是什么原因引起的| 湿疹是什么样子| 纳粹是什么意思| 大便带血是什么原因男| ala是什么氨基酸| 骄阳似火是什么意思| 开什么店好赚钱| 侧面是什么意思| 什么是风湿热| 真菌感染脚气用什么药| 胸为什么一大一小| mra检查是什么意思| 吃什么补维生素b| 生活老师是做什么的| 白色配什么颜色好看| 喝咖啡胃疼是什么原因| 木薯淀粉可以用什么代替| 是谁在敲打我窗是什么歌| 梦到父母离婚是什么意思| 淤青擦什么药| 红血丝用什么护肤品修复比较好| nfl是什么意思| ny是什么牌子| 胃结石有什么症状表现| 什么情况下要做宫腔镜| 痔疮出血用什么药| 胸变大是什么原因| 早上起床牙龈出血是什么原因| 麻豆是什么意思| 海石花是什么| 什么是sp| 物极必反什么意思| 螨虫是什么样子的| 烤鱼什么鱼好吃| 囊肿吃什么药| 竹蔗是什么| 贵州有什么| 四个雷念什么| 自采暖是什么意思| 胸闷气短咳嗽是什么原因引起的| 纸醉金迷什么意思| 张飞为什么不救关羽| 肝内小囊肿是什么意思| 祛斑什么季节做最好| 属牛的五行属性是什么| 嗜什么意思| 什么叫更年期| ipa啤酒是指什么| 骨密度挂什么科| lsd是什么| 堃字的寓意是什么意思| 菌痢的症状是什么样| 脂肪肝喝什么茶| 阳历1月份是什么星座| 孩子咬手指甲是什么原因| 电脑关机快捷键是什么| 长骨刺是什么原因导致的| 潘驴邓小闲是什么意思| 花中隐士是什么花| 皮肤擦伤用什么药最好| 金牛后面是什么星座| 天王表属于什么档次| 排湿气最快的方法吃什么| 臭男人是什么意思| 脚底脱皮是什么原因| 更年期什么年龄开始| 痔疮有什么特征| 定亲是什么意思| 经常腰疼是什么原因女| 枕头发黄是什么原因| 吃什么解腻| 鹰和隼有什么区别| 寡妇年是什么意思| 日本买房子需要什么条件| 71年的猪是什么命| 狗狗尾巴下垂代表什么| 经常催吐有什么危害| 胃病吃什么药最好根治| hpm是什么意思| 蛇的眼睛是什么颜色| 蜈蚣为什么不能打死| 周杰伦什么学历| 西洋参补什么| 12月有什么节日| 朱祁镇为什么杀于谦| 拉夏贝尔属于什么档次| siemens是什么品牌| 缺钾是什么病| 太阴是什么意思| 什么榴莲好吃| gh发什么音| 梦见好多人是什么意思| 双子女和什么座最配对| 气阴两虚是什么意思| 慈禧姓什么| 宫颈病变有什么症状| 涵字取名的寓意是什么| 三月十三是什么星座| 塑形是什么| 结肠炎吃什么药好| 直接胆红素高是什么病| 右胸是什么器官| 2001年什么年| 女人喝什么茶对身体好| 政绩是什么意思| 心功能iv级是什么意思| 愚孝什么意思| 午时右眼跳是什么预兆| 洱海为什么叫洱海| 六扇门是什么意思| 心跳突然加快是什么原因| 营养科都检查什么项目| 单核细胞比率偏高说明什么| 瘪是什么意思| 荠菜什么时候播种最好| 胃经常胀气是什么原因| 易经是什么| 为什么大拇指只有两节| 投其所好是什么意思| 尿亚硝酸盐阳性是什么意思| m0是什么意思| 数字是什么意思| 恐龙灭绝的原因是什么| 甘油三酯低是什么原因| 送奶奶什么礼物好| 红花跟藏红花有什么区别| 千年等一回是什么生肖| 妇科检查清洁度3度什么意思| 感染科主要看什么病| pears是什么意思| 吃什么药可以延长性功能| 二氧化碳是什么东西| 牙龈经常出血是什么原因| 生化了是什么意思| 扁桃体结石长什么样| 被蚊子咬了涂什么| 眼屎多什么原因| 三什么道中| 哀伤是什么意思| 家里有壁虎是什么征兆| 10月底是什么星座| 广西有什么水果| 月经期后是什么期| pda医学上是什么意思| 乙状结肠炎吃什么药| 狐媚是什么意思| 7月28日是什么星座| 胃气胀是什么原因怎么解决| 肠胃感冒吃什么食物| 比重是什么| 口水歌是什么意思| 什么手机有红外线功能| 心经讲的是什么| 胃炎吃什么食物好| 查血铅挂什么科| 孩子嗓子疼吃什么药| 腿上有青筋是什么原因| 猫五行属什么| x线检查是什么| 白细胞阳性什么意思| 主动脉夹层是什么意思| 农历正月初一是什么节日| 为什么一| 经常眩晕是什么原因引起的| 1945属什么生肖| 韧带拉伤用什么药好| 肉炒什么好吃| 尿酸高不能吃什么| 杏林是指什么| 大姨妈是黑色是什么原因| 为什么会得丹毒| 芸豆是什么| 做是什么感觉| 什么是植发| 肿瘤标志物cA724高说明什么| ca125是什么检查项目| egfr医学上是什么意思| 自助是什么意思| 白带发黄是什么原因| 遗留是什么意思| 肚子突然疼是什么原因| 牙齿什么颜色最健康| 亲子鉴定需要什么材料| 低聚糖是什么| 白瓜是什么瓜| 报考护士资格证需要什么条件| 铂金是什么材质| 吃什么补血小板| 三亚在海南的什么位置| 冰心的原名叫什么| 热痱子用什么药| 阴虚血热什么症状| 吕布的武器是什么| 无纺布是什么材料做的| 伽利略是什么学家| 剪舌系带挂什么科| 喝牛奶什么时候喝最好| 吃一个海参相当于吃了什么| 上海话小赤佬是什么意思| ca724是什么意思| 重字五行属什么| 妈妈的妈妈叫什么| 吃什么对心脏最好| 黄豆加什么打豆浆好喝又营养| ip是什么意思| 眼睛发痒是什么原因| 湖北有什么好玩的地方| 焦虑症是什么意思| 鸡肉不能和什么一起吃| senda是什么牌子| 黄花是什么花| 防弹衣为什么能防弹| 美国为什么打伊拉克| 梦见杀羊是什么预兆| 大便不规律是什么原因| 右边偏头痛是什么原因| 梦见杀人了是什么意思| 月朔是什么意思| 闰年是什么| 辟邪剑法为什么要自宫| 小腿麻木是什么原因引起的| 休眠是什么意思| 下连是什么意思| 男生生理期是什么表现| 百度

2018年中国高质量发展需警惕全球三大风险因素

运维 系统运维 数据库
本文将介绍美团点评整个数据库平台的演进历史,以及我们当前的情况和面临的一些挑战,最后分享一下我们从自动化到智能化运维过渡时,所进行的思考、探索与实践。
百度 赵筱说:“我们很少和别的战队约战,因为效果不好。

从自动化到智能化运维过渡时,美团DBA团队进行了哪些思考、探索与实践?本文根据赵应钢在“第九届中国数据库技术大会”上的演讲内容整理而成,部分内容有更新。

背景

近些年,传统的数据库运维方式已经越来越难于满足业务方对数据库的稳定性、可用性、灵活性的要求。随着数据库规模急速扩大,各种NewSQL系统上线使用,运维逐渐跟不上业务发展,各种矛盾暴露的更加明显。在业务的驱动下,美团点评DBA团队经历了从“人肉”运维到工具化、产品化、自助化、自动化的转型之旅,也开始了智能运维在数据库领域的思考和实践。

[[252460]]

本文将介绍美团点评整个数据库平台的演进历史,以及我们当前的情况和面临的一些挑战,最后分享一下我们从自动化到智能化运维过渡时,所进行的思考、探索与实践。

数据库平台的演变

我们数据库平台的演进大概经历了五个大的阶段:

数据库智能运维探索与实践

第一个是脚本化阶段,这个阶段,我们人少,集群少,服务流量也比较小,脚本化的模式足以支撑整个服务。

第二个是工具化阶段,我们把一些脚本包装成工具,围绕CMDB管理资产和服务,并完善了监控系统。这时,我们的工具箱也逐渐丰富起来,包括DDL变更工具、SQL Review工具、慢查询采集分析工具和备份闪回工具等等。

第三个是产品化阶段,工具化阶段可能还是单个的工具,但是在完成一些复杂操作时,就需要把这些工具组装起来形成一个产品。当然,并不是说这个产品一定要做成Web系统的形式,而是工具组装起来形成一套流程之后,就可以保证所有DBA的操作行为,对流程的理解以及对线上的影响都是一致的。我们会在易用性和安全性层面不断进行打磨。而工具产品化的主要受益者是DBA,其定位是提升运维服务的效率,减少事故的发生,并方便进行快速统一的迭代。

第四个是打造私有云平台阶段,随着美团点评业务的高速发展,仅靠十几、二十个DBA越来越难以满足业务发展的需要。所以我们就把某些日常操作开放授权,让开发人员自助去做,将DBA从繁琐的操作中解放出来。当时整个平台每天执行300多次改表操作;自助查询超过1万次;自助申请账号、授权并调整监控;自助定义敏感数据并授权给业务方管理员自助审批和管理;自定义业务的高峰和低峰时间段等等;自助下载、查询日志等等。

第五个是自动化阶段,对这个阶段的理解,其实是“仁者见仁,智者见智”。大多数人理解的自动化,只是通过Web平台来执行某些操作,但我们认为这只是半自动化,所谓的自动化应该是完全不需要人参与。目前,我们很多操作都还处于半自动化阶段,下一个阶段我们需要从半自动过渡到全自动。以MySQL系统为例,从运维角度看包括主从的高可用、服务过载的自我保护、容量自动诊断与评估以及集群的自动扩缩容等等。

现状和面临的挑战

下图是我们平台的现状,以关系数据库RDS平台为例,其中集成了很多管理的功能,例如主从的高可用、MGW的管理、DNS的变更、备份系统、升级流程、流量分配和切换系统、账号管理、数据归档、服务与资产的流转系统等等。

数据库智能运维探索与实践

而且我们按照逻辑对平台设计进行了划分,例如以用户维度划分的RDS自助平台,DBA管理平台和测试环境管理平台;以功能维度划分的运维、运营和监控;以存储类型为维度划分的关系型数据库MySQL、分布式KV缓存、分布式KV存储,以及正在建设中的NewSQL数据库平台等等。未来,我们希望打造成“MySQL+NoSQL+NewSQL,存储+缓存的一站式服务平台”。

挑战一:RootCause定位难

即便我们打造了一个很强大的平台,但还是发现有很多问题难以搞定。第一个就是故障定位,如果是简单的故障,我们有类似天网、雷达这样的系统去发现和定位。但是如果故障发生在数据库内部,那就需要专业的数据库知识,去定位和查明到底是什么原因导致了故障。

数据库智能运维探索与实践

通常来讲,故障的轨迹是一个链,但也可能是一个“多米诺骨牌”的连环。可能因为一些原因导致SQL执行变慢,引起连接数的增长,进而导致业务超时,而业务超时又会引发业务不断重试,结果会产生更多的问题。当我们收到一个报警时,可能已经过了30秒甚至更长时间,DBA再去查看时,已经错过了最佳的事故处理时机。所以,我们要在故障发生之后,制定一些应对策略,例如快速切换主库、自动屏蔽下线问题从库等等。除此之外,还有一个比较难的问题,就是如何避免相似的故障再次出现。

挑战二:人力和发展困境

第二个挑战是人力和发展的困境,当服务流量成倍增长时,其成本并不是以相同的速度对应增长的。当业务逻辑越来越复杂时,每增加一块钱的营收,其后面对应的数据库QPS可能是2倍甚至5倍,业务逻辑越复杂,服务支撑的难度越大。另外,传统的关系型数据库在容量、延时、响应时间以及数据量等方面很容易达到瓶颈,这就需要我们不断拆分集群,同时开发诉求也多种多样,当我们尝试使用平台化的思想去解决问题时,还要充分思考如何满足研发人员多样化的需求。

数据库智能运维探索与实践

人力困境这一问题,从DBA的角度来说,时间被严重的碎片化,自身的成长就会遇到瓶颈,比如经常会做一些枯燥的重复操作;另外,业务咨询量暴增,尽管我们已经在尝试平台化的方法,但是还是跟不上业务发展的速度。还有一个就是专业的DBA越来越匮乏,越来越贵,关键是根本招聘不到人手。

在这种背景下,我们必须去思考:如何突破困局?如何朝着智能化转型?传统运维苦在哪里?智能化运维又能解决哪些问题?

数据库智能运维探索与实践

首先从故障产生的原因来说,传统运维是故障触发,而智能运维是隐患驱动。换句话来说,智能运维不用报警,通过看报表就能知道可能要出事了,能够把故障消灭在“萌芽”阶段;第二,传统运维是被动接受,而智能运维是主动出击。但主动出击不一定是通过DBA去做,可能是系统或者机器人操作;第三,传统运维是由DBA发起和解决的,而智能运维是系统发起、RD自助;第四,传统运维属于“人肉救火”,而智能运维属于“智能决策执行”;最后一点,传统运维需要DBA亲临事故现场,而智能运维DBA只需要“隐身幕后”。

从自动化到智能化

那么,如何从半自动化过渡到自动化,进而发展到智能化运维呢?在这个过程中,我们会面临哪些痛点呢?

数据库智能运维探索与实践

我们的目标是为整个公司的业务系统提供高效、稳定、快速的存储服务,这也是DBA存在的价值。业务并不关心后面是MySQL还是NoSQL,只关心数据是否没丢,服务是否可用,出了问题之后多长时间能够恢复等等。所以我们尽可能做到把这些东西对开发人员透明化,提供稳定高效快速的服务。而站在公司的角度,就是在有限的资源下,提升效率,降低成本,尽可能长远地解决问题。

数据库智能运维探索与实践

上图是传统运维和智能运维的特点分析,左边属于传统运维,右边属于智能运维。传统运维在采集这一块做的不够,所以它没有太多的数据可供参考,其分析和预警能力是比较弱的。而智能运维刚好是反过来,重采集,很多功夫都在平时做了,包括分析、预警和执行,智能分析并推送关键报表。

而我们的目标,是让智能运维中的“报警+分析+执行”的比重占据的越来越少。

数据库智能运维探索与实践

决策执行如何去做呢?我们都知道,预警重要但不紧急,但报警是紧急且重要的,如果你不能够及时去处理的话,事态可能会扩大,甚至会给公司带来直接的经济损失。

预警通常代表我们已经定位了一个问题,它的决策思路是非常清晰的,可以使用基于规则或AI的方式去解决,相对难度更小一些。而报警依赖于现场的链路分析,变量多、路径长,所以决策难,间接导致任何决策的风险可能都变大。所以说我们的策略就是全面的采集数据,然后增多预警,率先实现预警发现和处理的智能化。就像我们既有步枪,也有手枪和刺刀,能远距离解决敌人的,就尽量不要短兵相接、肉搏上阵。

数据库智能运维探索与实践

数据采集,从数据库角度来说,我们产生的数据分成四块,Global Status、Variable,Processlist、InnoDB Status,Slow、Error、General Log和Binlog;从应用侧来说,包含端到端成功率、响应时间95线、99线、错误日志和吞吐量;从系统层面,支持秒级采样、操作系统各项指标;从变更侧来看,包含集群拓扑调整、在线DDL、DML变更、DB平台操作日志和应用端发布记录等等。

数据库智能运维探索与实践

数据分析,首先是围绕集群分析,接着是实例、库,最后是表,其中每个对象都可以在多项指标上同比和环比,具体对比项可参考上图。

数据库智能运维探索与实践

通过上面的步骤,我们基本可以获得数据库的画像,并且帮助我们从整体上做资源规划和服务治理。例如,有些集群实例数特别多且有继续增加的趋势,那么服务器需要scale up;读增加迅猛,读写比变大,那么应考虑存储KV化;利用率和分布情况会影响到服务器采购和预算制定;哪几类报警最多,就专项治理,各个击破。

数据库智能运维探索与实践

从局部来说,我们根据分析到的一些数据,可以做一个集群的健康体检,例如数据库的某些指标是否超标、如何做调整等等。

数据库智能运维探索与实践

数据库预警,通过分析去发现隐患,把报警转化为预警。上图是我们实际情况下的报警统计分析结果,其中主从延迟占比最大。假设load.1minPerCPU比较高,我们怎么去解决?那么,可能需要采购CPU单核性能更高的机器,而不是采用更多的核心。再比如说磁盘空间,当我们发现3T的磁盘空间普遍不够时,我们下次可以采购6T或更大空间的磁盘。

数据库智能运维探索与实践

针对空间预警问题,什么时候需要拆分集群?MySQL数据库里,拆分或迁移数据库,花费的时间可能会很久。所以需要评估当前集群,按目前的增长速度还能支撑多长时间,进而反推何时要开始拆分、扩容等操作。

数据库智能运维探索与实践

针对慢查询的预警问题,我们会统计红黑榜,上图是统计数据,也有利用率和出轨率的数据。假设这是一个金融事业群的数据库,假设有业务需要访问且是直连,那么这时就会产生几个问题:第一个,有没有数据所有者的授权;第二个,如果不通过服务化方式或者接口,发生故障时,它可能会导致整个金融的数据库挂,如何进行降级?所以,我们会去统计出轨率跟慢查询,如果某数据库正被以一种非法的方式访问,那么我们就会扫描出来,再去进行服务治理。

数据库智能运维探索与实践

从运维的层面来说,我们做了故障快速转移,包括自动生成配置文件,自动判断是否启用监控,切换后自动重写配置,以及从库可自动恢复上线等等。

数据库智能运维探索与实践

报警自动处理,目前来说大部分的处理工作还是基于规则,在大背景下拟定规则,触发之后,按照满足的前提条件触发动作,随着库的规则定义的逐渐完善和丰富,可以逐步解决很多简单的问题,这部分就不再需要人的参与。

数据库智能运维探索与实践

展望

未来我们还会做一个故障诊断平台,类似于“扁鹊”,实现日志的采集、入库和分析,同时提供接口,供全链路的故障定位和分析、服务化治理。

展望智能运维,应该是在自动化和智能化上交叠演进,在ABC(AI、Big Data、Cloud Computing)三个方向上深入融合。在数据库领域,NoSQL和SQL界限正变得模糊,软硬结合、存储计算分离架构也被越来越多的应用,智能运维正当其时,我们也面临更多新的挑战。我们的目标是,希望通过DB平台的不断建设加固,平台能自己发现问题,自动定位问题,并智能的解决问题。

作者简介

应钢,美团点评研究员,数据库专家。曾就职于百度、新浪、去哪儿网等,10年数据库自动化运维开发、数据库性能优化、大规模数据库集群技术保障和架构优化经验。精通主流的SQL与NoSQL系统,现专注于公司业务在NewSQL领域的创新和落地。

责任编辑:未丽燕 来源: 美团技术团队
相关推荐

2025-08-05 08:18:43

DBA数据库运维

2025-08-05 07:46:25

数据仓库运维智能化

2025-08-05 09:22:12

2025-08-05 09:36:52

运维数据库智能

2025-08-05 05:00:00

批量运维系统

2025-08-05 19:32:56

数据库运维数据库运维管理

2025-08-05 09:35:25

智能运维云架构IT运营

2025-08-05 16:23:53

运维AI智能

2025-08-05 10:59:07

京东数据库智能运维

2025-08-05 17:37:46

运维智能管理平台

2025-08-05 13:14:35

互联网

2025-08-05 11:38:19

智能化运维运维业务

2025-08-05 09:53:34

运维自动化

2025-08-05 13:15:49

运维

2025-08-05 14:03:44

运维DevOps实践

2025-08-05 07:18:43

数据仓库数字化?IT

2025-08-05 08:41:38

Linux运维变更

2025-08-05 21:59:55

运维企业外包

2025-08-05 10:38:54

IT运维管理运维管理ITIL管理
点赞
收藏

51CTO技术栈公众号

1989年属什么生肖 额头容易出汗是什么原因 萎靡是什么意思 qq会员有什么用 3个火念什么
迁移宫代表什么 鱼油什么时候吃 有酒窝的女人代表什么 京五行属什么 请问支气管炎吃什么药最有效
女人手心脚心发热是什么原因 荷叶茶有什么作用 你从什么时候不再爱我 收阴是什么意思 人瘦肚子大是什么原因
左脚麻是什么原因 肾病有什么症状 威士忌兑什么好喝 不硬的原因是什么 骨盐量偏低是什么意思
阑尾炎的症状是什么hcv8jop9ns4r.cn 色是什么结构hcv7jop6ns2r.cn 宫内小囊是什么意思hcv8jop6ns9r.cn 720是什么意思hcv7jop5ns0r.cn hda是什么0297y7.com
头皮痒挂什么科hcv7jop5ns5r.cn 记忆力衰退吃什么药hcv8jop6ns3r.cn 尿液发臭是什么原因hcv8jop4ns2r.cn 凶是什么生肖adwl56.com 主页是什么意思hcv9jop5ns9r.cn
十二月十二日是什么星座aiwuzhiyu.com 什么床最环保没甲醛hcv9jop3ns9r.cn 半夜容易醒是什么原因hcv9jop4ns1r.cn 贝贝是什么意思hcv7jop9ns9r.cn 尿酸偏高是什么病dajiketang.com
四月初十是什么星座bfb118.com 腮腺炎是什么引起的hcv9jop3ns0r.cn 肋骨下面是什么部位hlguo.com 地图舌吃什么好得快hcv7jop9ns4r.cn 人心不足蛇吞象是什么意思hcv7jop7ns1r.cn
百度