dba 权限_DBA要掌握开发技能吗?

随着业务和技术的发展,DBA的角色逐渐从单纯的数据库管理扩展到更广泛的运维服务。现在的DBA需要掌握开发技能,以应对自动化、DevOps等趋势,提高服务效率和质量。开发技能不仅包括脚本开发,还包括对后端架构和产品思维的理解。具备开发技能的DBA能够更好地响应业务需求,提供高效、高质量的数据服务。
摘要由CSDN通过智能技术生成

7a969fbd34b8b87b460820004fb19899.png

这是学习笔记的第 1856篇文章

在问这个问题之前,我们先简单来聊下:DBA到底要不要掌握开发技能。

在回答这个问题之前,以下摘自一些网友的疑问和评论:

  1. 一直在做DBA,但是不懂开发,现在想学一门语言,大家提点建议,学什么语言好 ?
  2. 最近总有冲动想去学编程,但是有怕学下来在工作上没啥用
  3. 应该要懂吧,虽然不是专职的开发人员,但有时要测试之类的要使用啊,读懂代码还是有必要的。
  4. 编程知识总是有用的,学习一下思路和总体的运行情况,任何一个系统都是应用与数据库的整合才行。
  5. C、C++和java是编程语言,DBA和这些有什么关系?你了解相应的sql不就行了

里面的很多评论是在2012-2013年左右的,在当时看来是一个待确认的问题,现在看来答案是铁定的:需要,而且需要熟练掌握。

先从招聘需求来看,但凡是招聘系统运维和DBA的岗位,几乎很少能看到不需要开发技能的,运维开发技能已经默认成为了招聘的一个硬需求。或者退一步来说,数据库技能水平可以再培养,但是不懂开发技术,没有开发基础,要通关拿到offer还是很难的。

看看现在DBA的招聘需求,再来看看多年以前,你会发现一个明显的道理:不进则退。

我会从几个维度来解释。

DBA在行业的定位,是和运维保障紧密联系起来的,我们经常会说运维DBA,运维行业的潜规则就是背锅,背系统的锅,背数据库的锅,背网络故障的锅。。。运维行业的三板斧是重启、重装、回滚,不要问为什么,看起来神奇的问题总有解决的门道。运维部门的痛点是只花钱不挣钱,每每到了评业绩的时候,我们能体现出的最好指标就是节省了多少钱,而研发部门是挣了多少钱,虽然听起来差不多,实际上从定位上来说差别大了去了。

所以慢慢的就会形成一种很特殊的文化,做了又没好处,做得多出错的概率越高,还倒扣分,与其这样还不如不做。所以在保障范围内,还是相对保守一些。

当然这种情况是在一个可控维度内的,但是业务要发展,需求会升级,所以原来的那些慢慢就会跟不上了。比如你维护了20台服务器,现在手工还完全搞的定,搞什么自动化,再来20台,辛苦点,加个班也能搞定。但是再翻倍,那人工基本就没戏了。这个时候懒政不作为已经不起作用了,现在已经影响到基本的保障需求了。

近些年来提出来的DevOps不是空穴来风,很多都是基于实践的理念。

66950464f62228fdcb29ff37308dd5f9.png

这个时候有两个分支,一个是运维保障,一个是运维服务。

运维保障是份内的事情,对外可能是不透明的,就比如数据库的灾备,高可用,其实很多时候业务压根不关心,但是DBA要关心。这些在没有问题的时候都是鸡肋,这一层面的工作我们可以理解为体现的是技术价值,这也就是很多业务同学不理解DBA的一个原因。

对于业务来说,能够和他关联紧密,并且能够直接感受到的,就是业务服务了。比如业务要做一个数据迁移,要开通一个权限,要做下数据变更等,DBA得支持,以前是能支持,现在在运维保障的基础上要支持的好。

简单来说,就是下面的三个维度:

  1. 响应业务需求
  2. 提高服务效率
  3. 提升服务质量

下面是一个数据库方向的运维规划图,仅供参考。

90230a58b1194b65a5618be934af09f3.png

我们可以看到对于业务可见的其实就是业务服务。这些工作看起来简单,但是很琐碎而且实际上没那么简单。要实现这样的一个需求,势必就要你有一些基础的铺垫。

说了这么多,其实是通过一个更加全局的角度来理解DBA的定位,DBA的核心定位早已经不是数据恢复了,而是提供高质量的数据服务。

所以在敏捷运维的大背景下,我们是希望快速响应业务,尽可能提高业务价值,同时夯实技术价值,两者缺一不可。

数据管理如何统一,这是第一个现实问题,以前是个人主义的excel就可以搞定,做了什么事情小本本上都记得清清楚楚,现在要平滑对接,对接的粒度就是流程,所以有元数据的建设,有后续的流程的建设,这些都需要以前的技术积累,也需要一定的开发技能。在这里需要明确的是DBA不需要花太多精力在前端技术上,而是需要更多关注后端的架构和实现。脚本开发技术本质上不属于运维开发技能范畴,你需要一门高级编程语言来辅助你的工作。

而这些要投入精力去做,会发现需要的不仅仅是开发技能,还需要学习产品思维

产品思维能够体现出你是否已经深刻理解了要做的事情。而这在很多技术方面的同学是极为欠缺的。一个比较常见的情况就是设计出来的前端惨不忍睹,后端需要10个参数,前端绝对就是10个框或者10个按钮,所以我刚说不要投入太多的精力在前端上,只有深刻理解了业务需求和定位,你才能摆脱一些技术上的束缚,能够设计出更加完善的服务产品,单纯在技术层面深入只会让你走入一个死胡同。最直白的情况就是你设计了一个系统,功能强大,但是使用成本高,学习曲线高,导致用不起来,业务同学不买账。

专业的人做专业的事情,我们作为DBA是专业的,那么我们提供的数据服务也应该是专业的,流程不应该沉睡在你的脚本里面,而是应该通过一种更加友好的方式去体现,掌握开发技能仅仅这是我们职业生涯转型的一个小插曲,我们需要在夯实基础的前提下,更加深入的理解业务,无论你是做DBA还是其他行业,你都应该会成为一个行家里手。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值