MySQL DBA技术难度低为什么工资比Oracle高?

编辑手记:前几天在知乎上出现了一个很热的帖子,话题是“MySQL DBA技术难度低为什么工资比oracle高?”,这个话题很快引起了热烈的讨论。从回帖的情况来看,大部分人几乎都默认了MySQL DBA工资的确高这个事实,那么原因是什么,我们节选MySQL专家刘伟的回帖跟大家分享。

以下是他回帖的原文:

主要有以下两个原因:

1、市场供需关系 2、技术要求相对高

这两个因素一直没有得到改善,导致现在市场的行情是:招MySQL DBA难,招称心的MySQL DBA就更难。

先说一个工资议价的常识,工资水平行业内比较,是比拼技术等等可积累因素,但行业间比较,主要是取决于供需关系的。

Oracle方面

这些年OCP甚至OCM都被国内的培训机构玩残了,在Oracle DBA的价格普遍参考证书等级的情况下,Oracle DBA的议价能力相对不足。

MySQL方面

官方的OCP实际上目前看被各路互联网公司(MySQL DBA高工资的主要来源)认同度较小(见过说考MySQL OCP算降分项的说法),业内没有公认的标准,除了大个互联网公司的经历(公司level)背书,很难有个通用的等级标准,只能自由心证,自由心证的代价就是,完全靠供需关系决定市场价格,缺人的时候,各种高价都是舍得的。DBA的圈子本身就不大,MySQL DBA的缺口是行业性的缺口,自然会让收入水平水涨船高,市场经济的情况下,随着这个圈子的人越来越多(Oracle DBA转MySQL DBA,运维干MySQL DBA,各路培训机构产出MySQL DBA),MySQL DBA的收入也不会一直维持在一个高水位的。

MySQL学习难度本身是很低的,实际上纯粹的操作MySQL DBA的收入,比较Oracle DBA只是因为供需关系多一点点,其实还好,并不会到一个什么样的比例,但如果加上一些限定条件,就很难找人了,供需关系急剧恶化导致找人的价格很难控制。

一般来说互联网公司在招聘MySQL DBA的时候常常会附加以下要求:

1、有自动化开发经验

有人提到规模性问题,的确在肯给高工资的DBA里面,自动化开发是占比很大的部分,接触过的有30k以上的报价,这点主要因为MySQL到目前为止没有一个公认可靠的基础运维系统,都是各家自己造轮子。而Oracle公司产品做得好(OEM,grid mgr,ASM之类),Oracle DBA没有这么大的压力或者要求。

因此如果企业使用了MySQL数据库,在招聘时,除了要求应聘者能够熟练地自动化运维开发的同时,还需要是一个熟练的MySQL DBA,如果公司没有配置专门的运维前端开发(实际情况看,即使有,水平也很有限,高水平前端找人难度更大)的话,连前端也需要自己做,约等于半个全栈了。

2、的确能搞定MySQL的正常运维,备份恢复,DDL变更之类

见过太多小公司的MySQL DBA误删数据,备份失效的事情了,这点和技术能力,责任心等方面关系非常大,Oracle有很多机制比如flashback,回收站之类可以救火,但MySQL很多时候只能说一句“没救了”。

MySQL是一个远比Oracle脆弱的数据库,“不可恢复操作”远比Oracle容易遇到得多,怎么在操作的时候,保证操作的安全,是个非常麻烦的问题,尤其是MySQL那种文档质量(不是黑,MySQL文档已经是开源软件中最完备的文档之一了,但比比Oracle的文档体系,MySQL的文档可参考性小很多的)。

3、不要求能改代码,但至少对MySQL的各种实现机制非常熟悉并且能用于工作

最基本的要求是C,C++熟练,更进一步能自己修代码还不会出幺蛾子的,都被大厂收了做内核开发,那个供需关系更紧张也不是传统定义的DBA,这种可以排除出所谓MySQL DBA的定义,但即使是作为MySQL DBA,如果出现一个代码方面的bug,比如程序代码死锁(不是事务死锁,而是代码bug,mutex死锁)的时候,总不能每天想着找大厂熟人问一个未必靠谱的答案吧。

4、对linux有充分的了解

比如APUE,CSAPP讲到的东西都明白的地步,包括SSD优化在内的环境优化,这就变成了一个综合话题。首先得承认硬件的进步对MySQL的优化要求没有那么强,或者在一定瓶颈前没有什么要求,但cpu,内存,网络,存储,文件系统等等方面的要求,也并不是可以纯粹无视的要求,毕竟这个所谓的瓶颈并不难达到(我自己的数据是3到5倍的性能差距,未必能作为通用标准)。

5、对整个数据库体系(包括缓存,队列,大数据)都有深入了解,而不只是会安装的程度。

如果说linux运维包打天下是小公司的做法,那么在规模没有到相当大程度的公司,大数据相关的玩意,几乎一定会被交给DBA的,比如HBASE,REDIS,SPARK,KAFKA,MONGODB,ElASTIC SEARCH 这些,毕竟外行来看,反正都是数据库。但实际上,RDBMS与NOSQL(包括NOSQL相互之间)的运维差别非常大,而且大数据体系的玩意每年都有流行款,学习压力其实非常大(目送前端的同志远去~~每周一个不兼容老版本的新版本,每个月都有框架大新闻)。

6、SQL优化可以根据业务形态提出适当建议

都知道MySQL优化器很蠢,那么在这种情况下,怎么做好SQL优化本身就是问题。比如我的一个标准是,三个表之内的表连接,可以手写执行计划,并可以根据提出的不同数据分布给出更合适的执行计划以及更合适的SQL写法。实际上分库分表是这个下属的一个要求,比如在分库分表情况下,如何最快地操作数据多表聚合,这点延展开来,到中间件的优化或者类中间件使用方式的优化(包括SOA(现在有人喜欢叫微服务)体系下的数据聚合),都是需要了解,有实际实践的,再多一点的,就是作为中间件开发乃至分布式数据库开发(C/JAVA/GO)需要知道的了。

满足这些条件的,一般都会拿到不错的议价,但这种成交造成的“高水位线错觉”,会让普通操作DBA对收入有更高的期望,导致低议价的减少,让市场成交价更高。

这种情况会持续吗?

DBA的学习周期(培训班那种不算),一般是两到三年,考虑到MySQL DBA正经起飞,也就是这两年的事情,估计等个两三年,市场上人数更多的时候,MySQL DBA的收入应该是会有所回落的。

当然,我说的是纯粹的操作DBA,高技术水平的,无论是Oracle DBA,还是MySQL DBA,或者PostgreSQL DBA,DB2 DBA等等等等DBA的收入水平,不会有大的变化或者只会更高,这个细分市场的供应速度,是远远低于需求增长速度的。

后记:看到这里,可能各位Oracle DBA都闻到了一股淡淡的忧伤,关于薪资的不公平现状,你怎么看,欢迎留言给出你的想法。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-04-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器人网

干货:焊接机器人控制系统原理及应用分析

焊接是工业生产中非常重要的加工方式,同时由于焊接烟尘、弧光和金属飞溅的存在,焊接的工作环境非常恶劣,随着人工成本的逐步提升,以及人们对焊接质量的精益求精,焊接机...

4148
来自专栏蓝天

谈抽象接口的重要性

.pdf 抽象是架构师最基础最重要的能力之一。一名程序员要成长为架构师,首先要理解接口的重要性。但是对一个没有经验的人来说,他心中可能无法体会“接口”这两个字...

551
来自专栏数据和云

DBA入门之路:关于日常工作的建议

今天上午在恩墨学院进行了一个简短的分享,引用了多年前我的一页PPT,其中记录了我对DBA日常工作的建议。 虽然这7点内容来自多年以前的总结,但是在今天仍然具有指...

2655
来自专栏数据和云

如何成为一名Oracle ACE

很多朋友咨询我,如何成为一名Oracle ACE,我在此整理一下关于Oracle ACE的信息。 原本ACE计划只有两个级别(ACE和ACE-D),在2014年...

2894
来自专栏Java技术

技术往事:改变世界的TCP/IP协议!

作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地...

671
来自专栏云计算D1net

谷歌备份互联网和海量数据的经验

雷蒙布卢姆(Raymond Blum)领导着一支站点可靠性工程师团队,主要负责谷歌数据的保密性和安全性。当然,谷歌永远也不会透露那些数据的总量是多少,但是...

4079
来自专栏程序你好

软件架构30条原则

原则 1: KISS (Keep it simple, stupid) “指设计时要坚持简约原则,避免不必要的复杂化。” 其思想是使用最简单的解决方案来完成这项...

742
来自专栏MessageQueue

2017上海QCon之旅总结(上)

本来这个公众号的交流消息中间件相关的技术的。这周去上海参加了QCon,第一次参加这样的技术会议,感受挺多的,所以整理一下自己的一些想法接公众号和大家交流一下。

823
来自专栏大数据和云计算技术

​大数据和云计算技术周报(第35期)

“大数据” 三个字其实是个marketing语言,从技术角度看,包含范围很广,计算、存储、网络都涉及,知识点广、学习难度高。

812
来自专栏前端架构

软件设计杂谈

disclaimer: 本文所讲的设计,非UI/UE的设计,单单指软件代码/功能本身在技术上的设计。UI/UE的主题请出门右转找特赞(Tezign)。:)

682

扫描关注云+社区