共计 3496 个字符,预计需要花费 9 分钟才能阅读完成。
根据2019 数据库趋势报告显示,年度最受欢迎的数据库是 MySQL。
虽然市场占有率Oracle让排名第一,MySQL和SQLServer并驾齐驱,但毫无疑问,MySQL正变得越来越流行。随着MySQL地位爆炸式的提升, MySQL DBA的市场缺口也日益剧增,优秀的MySQL DBA正在成为各个公司抢手的人才。
需求来了,随着而来的是问题,如何快人一步提高自身技能,让自己在日益激烈的技术挑战中不断增值、脱颖而出?
希望本文能为MySQL DBA的前行航路提供一些真实的浮标。
本文核心内容思维导图:
1/6
选择篇
目前市场MySQL是否真的很流行?主要原因是什么?可以选择MySQL DBA作为职业吗?
综合来看多种数据库市场占有率及潜力来看,目前MySQL的流行是偶然中的必然。
- 免费:Oracle太昂贵了!MySQL社区版已经能满足大部分用户的需求,而且是免费的!
- 开源:只要你想,你可以深入到代码级别来了解数据库的运作原理(甚至可以改造它),这个远胜于传统黑盒数据库只是简单输出一些log或者白皮书来让人猜测运作情况,开源能让DBA能知其然并知其所以然,而且开源社区还有丰富的工具,给DBA在维护上面提供了强大的支持。
- 简便:学习门槛低、上手快(当然要真正掌握好还是需要大量学习的),不要花费太大的精力就能快速搭建起一套高可用的集群来,而不像Oracle数据库那样,有很多配套东西需要了解,没有几年的学习很难掌握。所以MySQL能在DBA群体(甚至包括开发人员)中快速地普及。
目前来看,在可预见的几年内,MySQL在互联网行业的地位仍无法取代,对DBA的需求量仍然很大,特别是中高级DBA。但从长远角度来看,从业人员也要多涉猎其它关系型数据库以及NoSQL、Devops、云计算等技术,现代社会唯一不变的就是变化,不断学习、拥抱变化才能保证自己不被未来社会淘汰。当前MySQL DBA的薪资是否普遍高于Oracle DBA?如果想从事DBA,选哪个数据库更好?
不得不承认,笔者随意翻了翻招聘网站,同级别的DBA,从事MySQL的人员薪水确实会更高些。
- 首先雇主行业不同,MySQL DBA 多属于互联网等新兴企业,互联网给人的印象是什么?烧钱啊,不差钱。而Oracle DBA 则从事于传统或者部分大型企事业单位。两种企业的薪资平均水平本就有差距。
- 从技能要求上,MySQL在功能上相比Oracle来说不完善,需要DBA具有更高的技术掌控能力做HA、备份、恢复、校验等。Oracle 则提供了比较完备的功能。
那么,MySQL&Oracle,如何选择?
三百六十行,行行出状元,不管是从事MySQL DBA 还是Oracle DBA都可以,从自身兴趣爱好出发并结合自己心仪公司的招聘需求。另外MySQL 和Oracle 并不矛盾,这并不是零和游戏。当然,如果这两种数据库都能维护得非常好,牛!
如何完成Oracle向MySQL的转型?
如果你已经有一个数据库产品的经验,再来学习其它数据库产品,难度应该不是很大,因为很多底层的原理是相通的,概念也差不多,无非是各种产品在设计上侧重点有不同、使用方式上有差异。已经有了Oracle基础,可以通过对比的方式来引入到MySQL的学习中。
要完成这个学习转型,首先心态上面应该放开(千万不要带偏见,认定哪种好哪种不好),通过对比的方式来学习和实践,善于总结差异分析优劣,多和同行沟通交流,相信转型过程不会太长。
还有一种方式就是跳槽,这个的前提也是你在储备了很多的技能之后,因为机会是留给有准备的人。
2/6
进阶篇
从初级成长到高级的MySQL学习路线
DBA 是一个“复杂”的工种,要成为高级/资深MySQL DBA。
一个岗位从初级走向高级始终是经验和实践的积累,没有其它捷径。
关于MySQL学习资料、书籍
研读源码是通向高级MySQL DBA的必备技能吗?
这是一个仁者见仁智者见智的问题。
只能说具有内核研发能力或者阅读内核源码的人,在了解具体技术原理时具有一定的优势。但是成为高级DBA和是否研读源码不冲突。
能否成为高级DBA,在于我们是否解决了一般人解决不了的问题的能力。
当然,读源码可以更深层次的理解内核的工作机制,有利于学习。
3/6
趋势篇
MySQL是否足以担负起企业级应用的数据载体?
MySQL从早期的发展至今,推出的解决方案非常多,从MySQL 5.7,8.0里面还是可以看到很多它在功能性、高可用、性能等方面都在发力,很多功能和Oracle很相似,都是一个逐步完善的过程,而且绝大多数的互联网公司都在使用MySQL技术,所以作为企业级应用是完全可以的。
但是现在的互联网行业对于MySQL的青睐,很多不在于MySQL单机能够支撑的性能,而是在于灵活扩展的架构,对于MySQL的使用,不再是集中式、共享式的方式,会做拆分、分布式等。
虽然MySQL已经足够来承担企业级应用的数据载体,但我们的业务需求是多种多样的,除了常见的OLTP业务,还有其他OLAP业务,海量日志类型的需求。在这方面MySQL 多少显得不足以适应业务需求。
数据库和中间件的关系
它们是数据库服务的一种辅助,借助数据库中间件,数据库可以具有分布式、读写分离、负载均衡、连接池、访问控制等等功能,数据库业务系统上具备更强大的功能和支撑能力。
DBA在传统运维类工作逐步萎缩的情况下,选择什么方向来发展?
- 深研技术,向数据库技术专家方向发展;
- 运维与开发并重,由传统运维DBA逐步转型为开发DBA;
- 泛化数据库概念,做数据管理者(DA);
- 由传统数据库运维,转向更宽广的运维开发(DevOps)方向;
- 将业务与数据库相结合,做业务领域内的专家;
- 转型做技术管理者。
4/6
未来篇
云会成为数据库的主要载体吗?如果是,它会对传统DBA带来什么样的冲击?
目前来看使用云是一种趋势,它能在资源交付、稳定性和成本方面为企业提供很好的支撑,随着云产品的不断完善,目前已经可以满足大部分中小企业的需求,中小企业完全可以省心省力地使用云(不用关心资源和维护,而专心做业务)。
因此DBA也不要再固守传统的城池,应该放开心态来面对这种变化,更多的把重心往上面所说的方向上转,做数据架构、存储方案,这样价值更大。
DBA正在越来越多地从事DevOps类工作
生产效率正在逐步提高,DB系统需要自动化,开发需要自助化解决工作生产过程中的问题,因此具备DevOps能力是一个非常合理的发展趋势。
5/6
跳槽篇
何为恰当的跳槽时机?
每个人选择在一家公司里工作,都是找到了公司与个人利益的一个平衡点。比较常见的如:职场新人通过公司平台快速提升工作技能,公司则利用新人初期薪资较低,降低整体运营成本。
当这种平衡被打破,例如公司不能提供你所希望的上升舞台,就可以考虑跳槽。当然,要避免几个问题,比如频繁跳槽(不满一年就跳槽)、为了蝇头小利而跳槽等。
怎么跳槽更有助于升职涨薪?
- 精准的个人定位,避免盲目跳槽;
- 寻找上升期的工作,可以快速积累经验,为日后打下基础;
- 知名大公司,可以学到领域内比较领先的技术和管理,等再次跳槽往往在职位和薪资上会有较大提升。
跳槽后对自身工作内容不甚满意,怎么办?
要明确不满意的原因,是对职位定位不准确?还是对个人能力评估有误?是对所在公司、团队环境不适应?还是无法在新团队脱颖而出?针对不同情况,再考虑后续规划。
强调一点,没有完美的公司和职位,不同公司都会有各自的问题,要学会适应不同的环境,在各种环境下,都能够快速自我成长。
6/6
杂谈篇
作为DBA,如何平衡工作和生活?
想做到工作归工作、生活归生活就要做到这几点:
- DBA有人员互备,轮流值班;
- 良好的预警监控系统,能把大部分问题消灭在萌芽阶段;
- 良好的工作流程规范。
AI时代,机器将代替人类维护和优化数据库,DBA有可能面临大量下岗的风险吗?
这是一个不可阻挡的趋势,所有DBA都要有危机意识,尽量多理解业务,站在更高的层面主动往具备输出业务模型的能力去靠拢。比如能提出数据库优化模型、能提炼出运维的特征项等。这样的DBA才能顺应潮流,不易被淘汰。
另外在优化方面,AI主要是从优化方法论本身来进行学习优化,还很难去理解业务层面的知识,如果DBA对业务比较熟悉,SQL改写优化往往是彻底颠覆性的写法,这是AI难以做到的。
所以DBA如果能做到:
- 对数据库优化和管理知识有非常深刻的理解,具备梳理出模型的能力;
- 对数据库背后的业务场景非常熟悉,能直击优化本质。
那就可以高枕无忧了。
拥抱未来,努力使自己成为站在未来的人。
作为大数据时代下管控企业核心资产的DBA,更是应该提前武装好自己,在挑战面前主动出击,在机遇面前学会抉择。
更多内容请关注微信公众号:数据与人