Oracle好在哪,Oracle差在哪

mimimiquan 秀才 2023-01-20 11:15:28

引子

大概是2011年,我第一次听说去IOE这个词,那会刚毕业,也是刚刚开始接触Oracle的第一年。在听说了其他公司在做这个之后,我惴惴不安地问领导,我们会去O?

领导思考了一下说:“人家去O的公司都什么样的人员编制,我们就这么点人手,去了谁来干活,出了问题谁来兜底?好好学好Oracle,别想那些有的没的。”

后来我在2012年考了OCP,又在2013年在恩墨学院学习了几个月,在2014年初拿到OCM。这个OCM认证后来还帮助我拿到了薪资更高的工作。一直到2021年,我从DBA岗位离职,从事Oracle的数据库运维管理整整10年。这期间从10g到19c,从AIX小型机到Exadata一体机,都用过各种痛苦的经历。眼看着云时代诸多新数据库如雨后春笋般破土而出,也看着Oracle在云时代从守着老本到现在开始追赶。

上个周,一个朋友问我:“你觉得Oracle未来还有前途吗?”

我愣了一下回答他:“有前途,因为无论基础设施怎么变化,无论未来数据的生成和应用有什么样的变化,Oracle在很多方面仍然是独一档的。”

于是我打算写这篇文章,聊聊Oracle到底好在哪,又差在哪。

 

上篇 Oracle好在哪

和Oracle打交道超过10年,从刚入行时老旧的9i到后来的19c,见证了Oracle那几年的变化。作为一度在传统行业以及特定领域里几乎无可替代的选择,Oracle到底有哪些优势,让我们对其念念不忘?

第一,完备的生态体系。Oracle作为一个发展了将近半个世纪的数据库,Oracle生态的优势体现在方方面面。招聘一个用过Oracle生产经验的DBA,从入行两年的新人DBA到超过二十年的资深DBA,可以招到。当遇到各类问题的时候,海量的文档可以参考。而市面上各类运维工具或者管理方法,都是可以对Oracle实现高度的兼容。这些都可以让我在建设Oracle数据库的时候游刃有余,完全不用担心有没有什么覆盖不到的地方,这在其他商业数据库里,都是独一档的存在。

第二,稳定的服务。数据库服务能否稳定,是一个选型时永远无法回避的因素。性能再好,特性再丰富,如果不能保证稳定,这样的数据库通常不会被DBA所青睐。我运维过几百天没有停机过的Oracle,性能始终维持在一个稳定的水平,各类定时任务和备份脚本也都有序稳定地进行。而同等数据规模下,Oracle以外的很多数据库的稳定性往往都要打个问号。

第三,强大的性能。和Oracle优化器的朋友相信都有体会,有些SQL明明在Oracle上跑得好好的,怎么到了其他数据库性能就下降这么多。怎么Oracle的存储过程大家用着好好的,到了MySQL上就开始出现各类问题。当你对性能有着极致要求的时候,还能够通过购买Exadata来进一步提升,我在上家公司的时候,核心财务系统就跑在Exadata上,上千个网店每天的日常财务管理以及各类不同级别的报表,都在那一套环境上执行。

第四,丰富好用的特性。Oracle自带的很多特性非常实用,例如ADG是我用过的实现异地灾备最稳定可靠的方式,RMAN加数据泵可以解决我不同级别不同类型的备份恢复需求,RAC可以提供实例级别的高可用,AWR可以在我做性能诊断的时候提供思路。这些都是平时运维管理的重要利器。只要这些特性都在,那我就可以对日常的运维管理充满信心。

 

下篇 Oracle差在哪

说了这么多,可能就有朋友问,Oracle这么好,为什么还要有去O?Oracle这么好,为什么在云时代慢慢被微软和其他公司缩小差距甚至超越?正是因为Oracle这些重要的优点,一定程度上让它陷入了故步自封,还有就是它本身不可回避的诸多缺点。

第一,高额的使用成本。上家公司的时候,每年Oracle续保都是个难题,钱又涨了要到处找业务部门,厚着脸皮去要求他们分摊。如果用了Exadata或者ODA,每年的维保费用更是一笔天文数字。这些成本可能还是我们在“权衡利弊”之后,报给Oracle售后的。如果算上一些非直接成本,例如更好的硬件配置、专门的DBA编制等等,这笔费用比起普通的开源数据库又是不菲的开销。

第二,更高的入门门槛。十几年前,会装一套Oracle RAC就可以去找工作了,这句话一点也不夸张,Oracle RAC的安装直到今天还会被很多老DBA头疼。直到今天,想要快速入门并且较为熟练的掌握Oracle的体系结构和基本原理,仍然是一件有些难度的事情。更别说日常的使用以及更高级别的性能调优或者升级迁移。

第三,响应不及时的售后服务。可能这是很多外企在中国的通病,Oracle也不例外。很紧急的一个生产问题,开了SR之后,后线的工程师总是不紧不慢地告诉你,先按照A再按照B然后再C等等,到了换班的时候,很可能来的是一个其他国家的售后工程师,同样的工作还要再重复一次。甚至遇到过Oracle某个售后服务团队在印度,影响了该服务的后续推进,客户经理给的答复是,可能最近中印关系紧张。

第四,硬件质量有待商榷。按说以前SUN做了这么多年的硬件服务,Oracle在收购了SUN之后也会继承下来,但是无论是ODA还是Exadata,前三年可能没有太大问题,第四年开始小毛病不断,硬件频频出问题,到第五年头上的时候,有的机器可能能换的都换过了。每每此时,领导就会问,这设备不是花了xxx万买的吗,怎么这么容易坏?

 

结语

作为一款关系型数据库,Oracle有多好用根本不需要我多说,看看如今金融和财务系统有多少在使用Oracle就容易得到答案。如果你想要选择一款能够支持7x24x365的数据库,那么Oracle无疑是一个无法回避的选项,并且生态、人才储备、最佳实践都有着独一档的优势。但是Oracle高额的成本以及对新手不够友好的诸多方面,也是必须要考虑进去的因素。本来我还想在涉及一下Oracle云服务,但是一方面我自己对于Oracle云的使用非常少没有多少发言权,再就是Oracle的云服务还在发力期到底未来会变成什么样子,可能需要时间给我们答案。

...全文
104 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,994

社区成员

发帖
与我相关
我的任务
社区描述
汇集数据库的爱好者和关注者,大家共同学习、探索、分享数据库前沿知识和技术,像松鼠一样剥开科学的坚果;交流Gauss及其他数据库的使用心得和经验,互助解决问题,共建数据库技术交流圈。
数据库数据仓库 企业社区 北京·海淀区
社区管理员
  • Gauss松鼠会
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎大家同时关注Gauss松鼠会专家酷哥。

https://www.zhihu.com/people/ku-ge-78-98

试试用AI创作助手写篇文章吧