{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

专精Oracle还是MySQL?

NoodlesNoodles 回答0 收藏2
问题描述:本人大四男吊,有MySQL,Oracle基础,听说Oracle跟MySQL 今夕二八开,即占80% 市场份额的20% 大型互联网公司用的是Oracle,提供精确数据云服务端;20% 市场份额80% 中小型互联网公司依赖于MySQL,物美价廉还开源。直觉告诉我要学Oracle,理由是中小型互联网未来会趋于统一,形成三分天下格局(三国迷),即大企业,大企业 = Oracle,求大神指点迷津毁我三观。
收藏问题

4条回答

K_B_Z

K_B_Z

回答于2022-06-28 16:01

从题主的题目来看,所谓的专精是要从事DBA方向的工作?

所以有两种可能:

  1. 从事DBA工作;
  2. 从事软件开发工作;

从事DBA工作

如果是从事DBA工作,那么你是需要专精Oracle

DBA需要去学Oracle,DB2这些大型的数据库,专精其实谈不上,谁也不敢轻易说我学一两年就能说专精,需要长期、持续学习才能说你会Oracle,才有这个能力和资格去做DBA这个岗位。

一般中小公司是没有DBA这个岗位的,基本上由运维和开发直接做了,当然中小公司也用不起这些大型数据库,基本都是MySQL、PostgreSQL。

但是大型公司肯定是需要DBA这个岗位的,大型公司基本上就是Oracle、DB2,比如银行、保险公司。


从事软件开发工作

如果题主要从事的是软件开发工作,那么我建议你去学习MySQL,即你所谓的专精。理由如下几点:

  1. 大厂有专业的DBA,你接触不到更多的数据库工作,也就写写业务SQL,索引甚至都不用你去建。
  2. 中小公司全部都是MySQL,作为开发人员,需要更好的数据库能力来保证自己所负责业务的长期稳定运行,这对开发人员就需要更多的MySQL数据库知识要求。所以现在市场上的面试基本全都是MySQL相关的知识,比如Innodb引擎、MyISAM引擎的区别,聚集索引、非聚集索引、覆盖索引、回表查询等等。

题主其实应该有自己的想法和思路的,不能说专精,应该说主攻哪个数据库,如果不是要从事DBA工作,那就得主攻其他方向了,比如大数据、人工智能、分布式等方向。


以上,希望能为题主提供一定的帮助~

评论0 赞同0
  •  加载中...
nemo

nemo

回答于2022-06-28 16:01

建议MySQL

现在自主研发,国产替代,开源和去IOE是大趋势,很多国有大集团企业也已经开始启动国产替代。

其二,oracle学习个基本就可以了,并了解sql语法上的一些差异。你如果没有实际大项目实践,单靠看书和自己练习,很多类似性能调优等内容是无法真正学明白的。

评论0 赞同0
  •  加载中...
Airy

Airy

回答于2022-06-28 16:01

首先,预祝这位小哥哥毕业顺利,工作顺利!

本来划走了,扫了一眼问题又划回来了。

对互联网的格局到底会如何发展,本人确实还没有能力做出预测。不过鉴于以往的工作经验,简单给出一点自己的建议,聊供参考。


大企业不等于Oracle

纠正一下这个观点,大企业不等于Oracle。Oracle作为老牌的数据库,确实从性能到灾备,方方面面都做的很好,尤其是十几年前的科技环境下,Oracle对大数据量的处理上,真的是拉开其他数据库一大截,就连微软的SqlServer也不能与之相比。

但是近几年,说不上是Oracle没落了,还是其他数据库发展太快了,Oracle确实没有太多突出的优势了,价格还特别贵。再加上,前几年国家“去IOE”的活动,越是有实力的大企业,越发开始放弃Oracle了。比如中石化、中石油之类的集团性大企业,新建系统使用Oracle的越来越少。

平台化会成为趋势

这就又得说到前几年了,前几年线上系统相比于线下的手工业务流程,只是起到了辅助的作用,所以有哪个部门或者哪个业务线条有需要,就做个信息化管理系统。而这几年,在线业务办理对传统线下业务的冲击和渗透越来越强,孤立的、重复的、线上线下穿插的这些系统越来越不受待见了。

所以,技术方向上开始提平台化、Paas、中台等概念了,这方面ucloud是“始作俑者”,真的是始作俑者,忽悠了好多概念,挖了好多坑。不过ucloud云做的确实还是值得肯定的。除了ucloud云还有ucloud云、x86云等等等等,大家的思想和理念是类似的,就是基于一个功能可复用、数据可通用、流程可串用的工作区域来进行业务的快速搭建。

在这样的平台基础上,用mysql或者oracle就差不多了,因为他们对前端开发影响不大,对数据库维护和设计又要求过高。而单从架构上说,脱胎于ucloud系的MySQL对分库分表啊大数据并发等方面的支持度会更好。

技术是具有共同性的

程序员嘛,经常能看到Java转.net,或者Python,或者去做go语言的开发,上手也很快。就是因为这些技术逻辑都很类似。数据库嘛也是差不多的,都是基于数据库原理进行的设计,与或并逻辑一样、栈和队列逻辑一样、范式的规则都是一样……

所以其实一通百通的,可能学会Oracle需要花费6个月的时间反复锤炼诵记,在此基础上学会sqlserver只需要一个月,再去学mysql甚至可能只需要两周就足够了。两者并不是取舍的关系

岗位的定位比选择哪个工具更重要

这个不必多说,但确实所有因素中,最最重要的一个。你想要做什么样的工作,或者说,从事什么样的岗位?

程序员?那可以向技术专家、架构师发展;也可以向项目管理发展;专攻于某一业务线条的开发,也可以向业务专家发展。

DB?那是继续向基础设施运维发展,做主管?还是专攻技术,做DB设计、架构师?

如果想走技术路线,那先学MySQL,敲开互联网公司的大门,去里面继续钻研。他们使用的数据库就花样繁多了;

如果想走管理路线,那先学Oracle,敲开企事业公司的大门,去做数据库的运维支持人员。这些老旧古板且资金充足的企业,还会有很多机遇Oracle的应用

知识体系的庞杂性是上升的关键因素之一

最后还是回归到本质上,不是你是做什么岗位什么工作,工作的本质往高端了说是实现人生理想和追求。但是客观上还是要养家糊口的,要衣食住行,要买皮肤买装备…… 这都需要钱。而公司不能因为你工作年限长就给你工资高,不要奢望这个,政府机构企业事业单位都开始工龄和收入摘勾了。

那你要多赚钱,就要向上升。研究表明,最受欢迎的是T型人才,也就是既具备某一线条纵向的业务深度,又具备横向的业务广度。翻译一下就是,你要有一技之长,又要什么都知道点。

所以,如果有时间、有精力,能学一点就多学一点,岁月必然不会亏待你。


与诸君共勉。

评论0 赞同0
  •  加载中...
scola666

scola666

回答于2022-06-28 16:01

如果只是用用,其实没有区别。如果你要找工作,那么建议MySQL,因为使用它的企业更多。另外,如果你想深入研究数据库,也建议MySQL,因为它是开源的,一个技术开放,一个不开源,哪个更加容易被大众接受,被更多的人贡献,那么它的发展一定会更快。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<