编辑手记:前几天在知乎上出现了一个很热的帖子,话题是“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都闻到了一股淡淡的忧伤,关于薪资的不公平现状,你怎么看,欢迎留言给出你的想法。

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

  1. (活动)MySQL DBA之路 | 性能配置调优篇

    导读 译者:田帅萌 云和恩墨东区MySQL交付,擅长MySQL优化. 原文作者:Severalnines 原文:https://severalnines.com/blog/become-mysql-d ...

  2. mysql工资由低到高语句_mysql面试题

    1.根据部门号从高到低,工资从低到高列出员工的信息 select * from employee order by dept_id desc,salary 2.union和union all的区别 用 ...

  3. 【项目合作】低清老视频转高清,视频超分辨

    点击我爱计算机视觉标星,更快获取CVML新技术 项目需求方希望借助视频超分辨率技术实现低清老视频的高清化,寻有技术实力的技术团队或个人进行项目外包. 项目需求 主要参考文献为: 低清视频也能快速转高清 ...

  4. 7天4场直播,涵盖DBA职业发展必备软实力、Oracle和MySQL技术等

    1. Oracle 12c OCM 认证解析-03.20 分享大纲 以下是本次分享涉及的主要议题: Oracle OCM 12c 官方考试大纲解析 同步 Oracle OCM 考场最新考试动态 12c ...

  5. MySQL DBA的修炼与未来

    随着MySQL地位爆炸式的提升, MySQL DBA的市场缺口日益剧增,优秀的MySQL DBA正在成为各个互联网公司抢手的人才.然而,需求来了,问题也来了,如何快人一步提高自身技能,让自己在日益激烈 ...

  6. MySQL DBA的修炼与未来(参考篇)

    转自:https://blog.csdn.net/xielingshao/article/details/77840101 MySQL DBA的修炼与未来 随着MySQL地位爆炸式的提升, MySQL ...

  7. MySQL DBA的修炼与未来,看看老司机们怎么说?

    随着MySQL地位爆炸式的提升, MySQL DBA的市场缺口日益剧增,优秀的MySQL DBA正在成为各个互联网公司抢手的人才.然而,需求来了,问题也来了,如何快人一步提高自身技能,让自己在日益激烈 ...

  8. 数据库(MySQL)开发技术题库

    数据库(MySQL)开发技术题库 软件工程大二下 选择+填空+简答 选择题 1.SQL语言具有数据操作功能,SQL语言的一次查询的结果是一个___D___ A) 数据项      B) 记录      ...

  9. 我心中的MySQL DBA

    原文网址链接:http://wangwei007.blog.51cto.com/68019/1718311 MySQL是一个跨平台的开源关系型数据库管理系统,目前MySQL被广泛地应用在Interne ...

最新文章

  1. C++ Primer 5th笔记(chap 15 OOP)继承的构造函数容器
  2. InnoDB的ib_logfile写入策略
  3. linux内核源码代码量,Linux内核源代码数量已经超过1000万行
  4. 百度平台K12人群洞察报告
  5. SCUT - 240 - 宝华的文件系统 - 模拟
  6. 【视野】阿里达摩院做AI这两年
  7. 3.Jenkins 2 权威指南 --- 流水线执行流程
  8. 一种支持多种流媒体协议的播放内核
  9. 【信号处理】基于高阶统计量特征的通信系统中微弱信号检测附matlab代码
  10. springcloud配置nacos,实现不同的环境使用不同的配置文件,不同的开发人员使用不同的配置文件
  11. 【软件安装使用】pano2vr教程
  12. java web前端邮件,JavaMail:在Web应用上完整接收、解析复杂邮件(转)
  13. ssm+boot+thymeleaf博客系统完成总结
  14. 使用memcpy函数的耗时测试(拷贝不同大小数据量耗时不同)
  15. Python按照指定页数分割PDF文件
  16. html图片高度撑开,CSS背景图撑开盒子高度
  17. 复制粘贴-实现动态爱心 网页版
  18. 学思录(一):带着信息的角度去学习
  19. 微信尝试刷掌支付;苹果 WWDC 将于 6 月 6 日开幕;Qt Creator 10 发布|极客头条
  20. 红帽环境+docker安装

热门文章

  1. 水果销售系统课程设计(第一阶段--需求分析)
  2. 机器学习实战2--蒙特卡洛方法与Q-Q图(2022/10/12)
  3. IDEA 神级插件!效率提升 20 倍!
  4. UBT5:ubuntu安装GIMP
  5. UR机器人的优点 | 推动制造生产可持续性
  6. MCU基础以及RTOS原理知识分享
  7. 无向图求起点到终点所有路径
  8. “我在公司待了 6 年,清退我却只花了 6 分钟”
  9. python统计英文文章中单词出现的次数并排序_Python实现的统计文章单词次数功能示例...
  10. 【2019.07.09】java 二维数组、将二维数组传递给方法