优秀DBA必备的技能和素养和云数据库运维

网友投稿 922 2022-10-03

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

优秀DBA必备的技能和素养和云数据库运维

走向成功的道路从来都不是一帆风顺的,但成功者往往具有某些相似的特征。15年的DBA之路,是如何迎接新技术的挑战、日复一日的学习策略,进而完成职业生涯的进阶,成长为技术专家、数据库架构师、公司DBA主管?

扫码即时参与直播

成思敏,21CN DBA主管、技术专家、数据库架构师。15年数据库工作经验,擅长诊断数据库故障、数据库调优、迁移等;擅长云数据库的架构设计,故障诊断与调优技术,精通数据库运维自动化产品设计,对数据库自动化运维有深刻的理解,并且积累了大量的工作经验。参与公司数据库相关的标准制定,大型项目规划等。超大型数据库的迁移与支撑,擅长培训与培养人才。专利申请5个(已授权1个)。

以下为采访正文:

使命、责任感驱使我不断学习

DTC:请先和大讲堂的用户介绍一下您,以及您感兴趣的技术是?

A:大家好,我是21CN成思敏,对数据库技术持久产生热情的老牌DBA,很高兴与大家分享数据库知识与经验,我是从ORACLE技术成长起来的,因为不断有项目的需要,开始去ORACLE,及对新型数据库的管理,解决各种数据库与中间件相关问题。因为公司DBA团队不断壮大,就培训与培养新人。作为非常重量级DBA盛会的DTCC讲师,我很荣幸。今天能在恩墨大讲堂与大家分享经验,我也非常荣幸,非常开心。与数据库相关的话题我都比较感兴趣。

DTC:有句耳熟能详的的话是“做数据,就是场修行,其乐趣就在于它永无止镜”,为何选择数据库这个领域?您认为是什么使您深深地投入这个领域的?

A:“做数据,就是场修行,其乐趣就在于它永无止镜”,对DBA来说很贴切。数据库是一门艺术,解决不了问题,性能优化不了,那是相当痛苦的,但是一但解决问题,那种成就感与艺术家没区别。很多年前,因为项目需要,我负责的项目中有数据库,为了做好项目,去初步了解并做了数据库的测试实验,查找相关的资料,发现真是一个深似海的天地,于是才决心投入到数据库这行业中来了。

DTC:各种新技术层出不穷,怎么掌握技术的趋势?以及您个人是如何学习新技术的?

A:其实每个人精力是有限的,对于新技术趋势的话,DB-Engines(https://db-engines.com/en/ranking)上面的信息面比较多,我经常分析与参考上面的信息;技术资讯网如CSDN、51CTO、开源中国、GitHub、ITPUB等;另外,经常看些论文、专利文章(国外比较少,有机会我还想多阅读下国外的巨头公司及高校论文),还有行业大会也非常重要。

新技术越来越多,首先是需要看公司的需要,挑些公司可能需要的数据库技术,首先搜索这种技术的实践情况(公司落地、网友技术分享),另外就是快速阅读官方文档,进一步真实了解该技术到底可以做什么有什么缺陷等,然后就是实践。

DTC:您如今,每天负责公司的DBA团队,也需要不断的学习新技术,以及大量的人才培养等,事情比较多,在时间安排上您什么心得和体会可分享?

A:其实之前上班时间根本没有学习时间。因为使命、责任感,必须让自己提高已成为一种习惯。每天有几个时间点我抓得比较紧:

早晨6点左右,起来之后速度看书40分钟提前半小时以上到公司(看书及资料)利用中午一小时(一个半小时午休,半小时吃饭)学习,周末也利用一部份时间思考常常是在深夜,每天都会积累很多的问题,并在深夜常常获得灵感,得到答案。

开始是强迫自己的,几年后发现不学不自在(自我认为不学习自己就变俗气了)。数据库虽然是门艺术,但责任感让人想问题更多些,成长就非常快了。

DTC:能否回顾一下自己的职业之路,谈一谈毕业后这些年在工作中的收获和体验,以及职业路上的故事?

A:我所得的荣誉是来自于DBA,所得益的也是因为从事DBA,以DBA为荣,虽然经历的都是挫折、坎坷与挑战:

2010年公司有一个Oracle核心系统性能不稳定,我曾经连续奋战三天两夜,中间也只休息了半小时2012年,为了数据库的稳定性,出差27天(日夜都在分析与解决问题)2013年冬天为了异构,不论天寒地冻、不分昼夜,连续三四个月与研发讨论、交涉、博弈、分析2016年春节,有春节红包活动,我有事请假不能在现场,但即使在路上,一小时一停车去与研发及团队沟通问题,并提供思路等……

优秀DBA需要掌握的技能与素养

DTC:DBA,DBA是英文Database Administrator的简称,也就是数据库管理员,是负责维护和管理数据库服务器的专业技术人员,您有着15年数据库工作经验,现在作为DBA主管、数据库架构师,您对DBA的理解是?以及您认为DBA需要什么样的技能和素养?

A:数据库管理员,是需要关注数据,也需要关注库,即需要关注数据与服务,要关心如何操作数据库(程序),从而来保障好数据库。DBA是一个系统架构项目产品的核心保卫战士,有很高的话语权。但这就要求DBA不要只做好数据及库的事,更重要的是需要理解产品,需要知道系统特征,从而才能更容易把问题分析透彻,根本上解决系统的表面问题。

个人认为DBA需要掌握的技能与素养有这几个方面:

1. DBA应该是一个系统的运维工程师,了解数据库所掌握的操作系统(操作与调优)

2. 所负责的数据库项目相关所有的特征,了解性能峰值及业务增长

3. 数据库本身,维护相关的如部署,调优,备份,恢复,迁移,升级,巡检等基本能力

4. 理解监控,对监控的每项语义明了并不断优化监控

5. DBA需要事中应急的技能,应急就是保障业务的连续性(如自动切换的能力),故障的快速诊断,快速修复数据,快速恢复数据

6. DBA需要有危机意识,把自己所负责的数据库相关的问题,能想多少就想多少,不断平时发现问题,从而不断提高技能的同时,更多的是为保障提供业务技术与服务

7. 一个好的DBA,是不断的实验,实验再实验的,既是对系统的演练,更是对自己技能的演练,这样才能速度提高自己的水平。(我记得,初始为DBA时,我一天可能实验有超过每天五六小时)

作为职场中人,我们都需要生存。我们很多人,都是被人管理,也有管理人的,从管理角度上(我自学了很多年MBA等管理相关专业等),我们需要了解公司需要做什么,我们如何去做符合项目的事(这个课题请大家以不同的方式思考),如何才能做一个超过DBA本身的事,做符合公司价值观的工作,而不是闷着头一直做。只有符合公司价值观的工作,才能真正使我们成长。即使我们做对了一件数据库恢复的事,也是体现公司价值的一部份,我们也是了不起的。但其实要想自己职场中发展,更多的是做好本职工作同时,更需要创新的思路,这对公司与自己都很重要。

DTC:运维DBA和开发DBA相通和区别的地方是?

A:DBA无论是运维DBA还是研发DBA从本质上都是来解决保障数据库问题,从而支撑项目可落地,可健康运营的目的。运维DBA比较靠表面一些,运维DBA是施工、调优、监控、更新、备份恢复等从系统的层面来保障业务的,研发型DBA主要从研发及功能与性能设计的角度上,对数据库表、字段、数据、SQL等设计的方向去让产品匹配系统的,是基于数据库与项目的点不同但都是解决同一项目。

DTC:大数据/云计算时代,给DBA带来了哪些新的挑战?

A:大数据/云计算时代已来临好多年了,市场逐渐成熟,DBA做精数据库已很难做到了。现在大家都不是一直看着Serverless方向发展了吗?DBA需要懂得更多。无疑,关系型数据库还是主流,但业务逐渐有不少方案选择NoSQL等类型;NoSQL类型,往往是无维护模式的(即有集群,表模型很简单),调优常常是研发的事,在这种调优,除了参数调优之外,传统DBA往往无很多事可做,但故障来了,却又很难解决(解决往往也需要研发来解决),主要是因为对NoSQL的不熟练,及很多NoSQL类型数据库其实并没有传统数据库成熟,资料也不够多等,DBA经历不够,而比较被动;

云计算上数据库实例和业务过多,而DBA如何和之前一样优化好、监控好、保障好,这个挑战很大的,产品用户体验已成为企业竞争力的一个核心要素,而业务大、质量要求更高,对DBA保障业务更是一个挑战。

DTC:DBA通常会遇到技术、职场等多角度的瓶颈,于您而言是否有那么历经困苦突破之后的事情?

A: 可能平时我想问题比较多吧,不想一直闷着做事,因为我知道,一直做下去,就跟个工人没两样。所以,我需要去不断突破自己。仅做部署、备份、恢复等是不够的,因此,在实验之余,考证书是我第一个想到的。选择了OCM的考试,第一,主要是想知道整个Oracle有什么,我如何掌握技术核心;第二是掌握后,我可以能够担负公司更重要的项目及任务,顺便对自己知识优化等。

另一个是云计算与大数据来了之后,要去IOE,我辛苦花好多年学来的东西要去掉,虽然不是从0开始,但又得重新从0开始,不断适配公司要求的技能是我们必须每天要做的事吧,无论是不是DBA,市场、公司需要什么,我们都得做吧。所以,就开始转型做分布式、NoSQL类的数据库研究与测试等工作,速度转型。

我现在还在转型与学习中,有更多的难题(在平时思考中获得的,及公司所遇到的),需要突破自我(调整技术结构,了解技术能力,识别技术可行性,技术价值落地等),需要更强大,帮公司成就项目,找合适的主题与命题给团队让团队更加健壮的成长,当个很好的螺丝钉。这个是我每天在做与想的问题。

云数据库的运维新挑战

DTC:新的框架层出不穷,例如数据存储领域的发展,从文件、关系型数据库、NoSQL   数据库、分布式数据库等,五花八门的新技术,有些是昙花一现而有些则变成主流选择。何时引入新工具和引入哪种新工具提高生产力,就变成了一个考验眼光的技术活儿。有时候存在一种是为了引入而引入么的情况,小公司没有历史包袱,新技术对他们诱惑力很大,对此您有什么经验可分享?

A:对于新技术的选择,我们压力比较大,因为有质量及故障考核,这是一个矛盾;技术创新与质量要求的考核,有时候也是一种制约。但作为公司来讲,是鼓励创新的,公司更要求稳定中求发展。一般树立命题,是题目评审-技术调研测试-部门内分享结果,这特别要让研发知道。需要推广新技术落地时,需要评审技术落地的理由,然后作为储备技术,当有项目场景需要时拿出来再用。

DTC:云数据库悄无声息地已到来,可否分享下数据库的发展历程,以及具体介绍下云数据库?其和传统数据库有着怎样的区别?

A:云数据库离不开云计算,云数据库是建立在虚拟机上为基础的,带有云计算的特征、共享、弹性、智能。传统的数据库拿Oracle来讲,本身是比较重的,安装部署都是个重型的工程。云数据库轻巧,有更多解决方案,能组建更多的架构(自动切换、读写分离、分布式、数据中心多活);传统的数据库可选的不多。云数据库更是利用了云计算强大的全栈技术能力,更是有了共享数据的能力,同时可以随意实施主机热迁移的能力(快速迁移)。

类别

云数据库

传统数据库

主要数据库

以RDS(MySQL)为主

以Oracle为主

安全性

云计算已安全保障了大部分安全

安全性比较严重

性能

单实例性能不高

单实例高性能

数据量

单实例不能数据量过大

可以支撑大数据量

迁移

不影响服务,秒级切换(集群或从库)

迁移是个大工程,切换教久

并发性

分布式构建容易,解决存储IO

存储瓶颈较难解决

连续性

高可用、联系性好

切换较慢,关注数据一致性

服务

分布式构建,局部失败,多种连续性解决方案

过于集中化

对DBA要求

需要综合使用工具的能力

需要专业的调优能力

云数据库与传统数据库比较

DTC:云数据库服务运维体系需要注意哪些问题?

A:云数据库服务,是服务就会出问题,必须转换的思路(数据库单服务实体不能影响整个系统,坚持故障无害思路,不要相信单节点的能力)。

在基于整体架构的基础上,把每个问题点列出来,持久频繁演练,制定出自己适配运维方式,才能有问题不会慌乱;另外,云数据库一式三分(主、备、异地备,不要去相信任何一个单节点的服务与数据),同时,在每份备份上,有逻辑备份,这样才能长治久安。云服务自动化运维能力非常重要,让系统管理数据库,而不是让人去管理数据库,这样的思路理念。人的操作代价是极高的,操作有限,水平有限,操作数量有限,因此,一定需要按照系统解决系统的思路来走。

问题项

问题描述

“问题”SQL增多

非高并发的INSERT都可能成为慢查询

SQL不稳定执行

执行计划会变化

监控不准

虚拟机本身没问题的情况下,性能有问题

云数据库服务剧增

实例过多,DBA不能只关注个别实例

中间件增多

需要研发实例来支撑中间,频繁更新

中间件问题多

理论上的分布式数据库,中间件是瓶颈“咽喉”,仍然是中心化类的数据库

架构过高,中间损耗大

中间件与MySQL单个性能都不是很高,基于资源有些浪费

云计算资源池过于集中

过多的服务互相影响,存储级别的问题排查困难

跨机房系统增多

专线与公网影响整套系统的稳定性与RTT的返回速度

排查问题难

基于不可控的问题多,排查问题相对困难,“无头案”增多

云数据库服务运维体系存在问题特征

DTC:可否介绍下21CN的云数据库服务情况?

A:云数据库已是21CN做项目的标准,不再提供传统数据库服务,之前未迁移上云的项目继续完成(个别项目);而有个转变是,之前云数据库经常用的SATA、SAS磁盘,现在逐渐使用SSD等高性能的硬件存储做为云项目的标准。还有,我们的业务也越来越多了,挑战每天都有,不过,我们蛮有信心与信念做好的。

DTC:本期您分享的云数据库服务脆弱性是什么?为什么关注这个事情?

A:脆弱性往往在系统上讲指安全性,不堪一击,这里的脆弱性指与数据库服务相关的所有质量属性问题:故障、服务失败、同步失效、数据恢复、同步不一致、数据有效性、成本可控性,凡是命中在数据库上所有的问题都属于脆弱性。因为往往表面发生在了数据库上面,但往往是别的原因,因为云数据库属于PaaS,并且可选择的数据库类型虽然多,但问题也会多起来。

DTC:某一项新技术/趋势的诞生,往往技术图书很快出来,可否推荐一些云数据运维的优质图书给大家?

A:这个需要结合云计算及运维及数据库相关的资料结合起来才可以:《分布式数据库系统原理(第3版)》、《SRE:Google运维解密》、《AWS云计算实战》等很多,一般我是看几家公司比较多些:Google、AWS、微软等这些工程师写的,我经常也直接把当当也当知识库了,需要什么类型的资料,搜相关的书,看大纲内容,理解思路等。

关系型数据库依旧主流,未来也是主流

DTC:对从事DBA行业的人的人,您有什么对他们说的话?

A:DBA是门职业,也是一种荣誉,DBA站在自己的角度,守护自己的系统同时,时刻传递数据库服务价值(不要闷着头去工作),让公司走得更好,也才能自己走得更远。

DTC:以您多年丰富的工作经验,您如何看未来数据库技术的发展和趋势?

A:应用数据应用越广泛,数据库就会被用得越来越多,数据库越来越智能与灵活。关系型数据库依旧主流,未来也是主流。多模数据库类型发展迅猛,原生数据库的思路是一个亮点,(SQL与NoSQL较完美的结合,前端SQL后端NoSQL);另外,数据库集群组件越来越好,如RAFT、PAXOS协议的相关应用。

出处:https://cs.enmotech.com/event/21

架构文摘

ID:ArchDigest

互联网应用架构丨架构技术丨大型网站丨大数据

上一篇:云环境下的IT运维自动化整合
下一篇:粉丝提问:桌面运维转行需要考证书吗?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~