明明技术难度更低,为何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的必要技能

一般来说互联网公司在招聘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都闻到了一股淡淡的忧伤,关于薪资的不公平现状,你怎么看,欢迎留言给出你的想法。


来源:数据和云 作者:刘伟

原文链接

时间: 2024-12-15 03:19:36

明明技术难度更低,为何MySQL DBA工资比Oracle高?的相关文章

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

编辑手记:前几天在知乎上出现了一个很热的帖子,话题是"MySQL DBA技术难度低为什么工资比oracle高?",这个话题很快引起了热烈的讨论.从回帖的情况来看,大部分人几乎都默认了MySQL DBA工资的确高这个事实,那么原因是什么,我们节选MySQL专家刘伟的回帖跟大家分享. 以下是他回帖的原文: 主要有以下两个原因: 1.市场供需关系 2.技术要求相对高 这两个因素一直没有得到改善,导致现在市场的行情是:招MySQL DBA难,招称心的MySQL DBA就更难. 先说一个工资议价

川普提高技术企业税收,迫使后者以更高工资雇用技能水平更低的国内人员

 对于硅谷自成体系的运营方式,不光是美国,整个世界往往都对其投出不屑的目光. 是的,可观的人员薪酬.高度集中的单一行业再加上自我引导型文化导向,这一切都让外人很难理解其如何发展,更不用提会给人类带来怎样的影响. 而技术领导者们在达沃斯峰会上与民主党领袖及银行家们一起用餐时,对方无奈的态度显然也从侧面证明了这一点. 在硅谷亿万富翁彼得·蒂尔的支持之下,唐纳德·川普在一片争议声中坐实了其候选人地位,同时亦巩固了其有能力说服足够的美国人将其送入白宫的呼声优势. 然而作为硅谷的家园,加利福尼亚州民众却集

《MySQL DBA修炼之道》——3.5 索引

3.5 索引 3.5.1 索引介绍 数据库索引,是数据库管理系统中一个排序的数据结构,用于协助快速查询.更新数据库表中的数据.它类似于书本上的索引,通过索引可以更便捷地找到书里面的内容而不需要查阅整本书.对于海量数据的检索,索引往往是最有效的. 目前MySQL主要支持的几种索引有:B树索引(B-tree).散列索引(hash).空间索引(R-tree)和全文索引(full-text).如果没有特别指明,本书指的就是B-Tree索引.由于索引是在存储引擎层实现的,所以不同的存储引擎的索引实现会有一

FAQ系列 | MySQL DBA修炼秘籍

0.导读 本文主要写给那些立志成为MySQL DBA,以及正在学习MySQL的同行们,结合个人及业内其他同行的职业发展经历给大家一些参考,如何成为合格的MySQL DBA. 1.什么是MySQL DBA 首先,DBA是database administrator(数据库管理员)的简称,在一些招聘网站上,也可能会把职位写成数据库[管理]工程师,MySQL DBA是目前互联网企业中最为炙手可热的岗位需求之一,前(钱)景大好,快到碗里来吧. 下面是拉勾网的MySQL DBA招聘需求(若无"MySQL中

【2017DTC精彩重现】Oracle和MySQL DBA的进阶之路

分享的初衷 这个是参考了朱赟[yūn]的一段话,我觉得已经很透彻形象了,毕竟在短短的几十分钟里,你只能得到一些思想上的建议和思路,落到实处还是得靠自己.而参考和借鉴的过程也是自己修行的过程.第二句我关于坚持,有的同学说坚持是习惯,有的说是毅力,本质上来说,还是坚持的态度,是坚持做一件事情,还是坚持把一件事情做好,两者听起来相似,实则有很大的差别. 分享思路 我分了几个层面来做了一些解读.在本文中会抽取重点列出一些来. Oracle和MySQL的学习周期 其实正如我开篇所说,目前国内的使用有两个比

《MySQL DBA修炼之道》——导读

前言 为什么要写本书 本书主要讲述MySQL DBA的必备技能,包括MySQL的安装部署.开发.测试.监控和运维,此外,读者还可从中学习到系统架构的一些知识. 我从业10多年,先是在传统行业做开发工程师.系统管理员.Oracle DBA,2008年因为机缘巧合投身互联网,开始从事MySQL运维工作.相对于成熟的商业数据库,MySQL缺乏高质量的技术文档和图书,我在接触MySQL的过程中,也感觉市面上的相关图书还存在一些不足,难以系统化地学习MySQL. 从一名Oracle DBA转型为一名MyS

《MySQL DBA修炼之道》——1.2MySQL 的基础架构和版本

第1章 理解MySQL 1.2MySQL 的基础架构和版本 1.2.1 软件架构中数据库的定位 数据库一般位于整个软件架构的后端,而不直接服务于用户,数据的展示.应用逻辑的处理都是由其他层次的程序来实现的.比较流行的一种软件架构的分类是"双层"."三层"."多层"架构.客户端直接和数据库服务器通信,比如通过ODBC.JDBC连接数据库,一般称为"双层架构"或"client-server"架构.若客户端和数据

MySQL DBA面试全揭秘

本文由MySQL中文网原创,"MySQL中文"公众号是 http://imysql.com 的官方唯一公众号,微信首发. 欢迎关注"MySQL中文"公众号(ID: imysql_wx),我们会不定期推送MySQL相关原创干货. 本文起源于有同学留言回复说想了解下MySQL DBA面试时可能涉及到的知识要点,那我们今天就来大概谈谈吧. MySQL DBA职位最近几年特别热门,不少朋友让我帮忙推荐什么的,也有很多公司找不到合适的DBA.原因很简单,优秀的人才要么被大公司

《MySQL DBA修炼之道》——第1章 理解MySQL 1.1MySQL 介绍

第1章 理解MySQL 本章将介绍MySQL的一些常识,以及目前MySQL的发展现状.然后简要说明MySQL的基础架构.存储引擎.运行机制,以及工作中应该如何使用MySQL,为后面章节的学习做个铺垫. 1.1 MySQL介绍 1.1.1 应用领域和适用场景 MySQL是目前世界上最流行的开源关系数据库.在国内,MySQL大量应用于互联网行业,比如,大家所熟知的百度.腾讯.阿里.京东.网易.新浪等都在使用MySQL.搜索.社交.电商.游戏后端的核心存储往往都是MySQL,有的具有上千台甚至几千台M