暂无图片
暂无图片
15
暂无图片
暂无图片
暂无图片

9102年,我还会迷恋Oracle数据库

Frank 2019-08-15
11732

oracle-flickr.jpg

昨天,著名的MySQL拥趸姜承尧老师发了一篇原创文章 - 《都9102年了,有人还在迷恋Oracle数据库》,其实这样持有简单粗暴观点的吸睛文章,本不值得反驳,就跟程序员争论到底是Java好还是Python好一样,但凡说你丫是傻逼老子天下第一的论调除了表明说这话的人是傻逼之外,说明不了什么其他问题。

然而,文章中确实有太多显而易见的漏洞,偏偏评论中还有挺多捧臭脚的粉丝,因此闲来无事,逐一反驳一下,全当饭后娱乐。

 

前面五段没有太进入正题,略过不谈,就从第六段开始吧。 

 

>而作为DBA(数据库管理员)们来说,当年能考出Oracle数据库的OCP证书意味着你可以在世面上轻松地找到一份业界Top 5的工作。年纪轻轻,毕业不到2年,就能拿到1.5W的薪水,而那时上海陆家嘴豪宅仁恒滨江或许都还不到2W/平。若肯在当年,花巨款15W+考出OCM证书,那就能大概率得到企业CTO职位,年薪至少百万起。然,这所有的一切,都发生在2008年以前。

 不知道姜老师生活在哪个星球的2008年之前,个人是从2002年左右进入Oracle数据库领域,那时候也正是ITPUB正火的时候,基本上国内从事Oracle数据库行业的人都在ITPUB里面游荡着,先不说是不是毕业两年就能考下那时候还没有太多题库的OCP,就算考下OCP,基本上薪水也是在8000元左右,除非直接进入超大型外企,工资才会超过1万元,而大型外企在工作经验上的要求,是不会允许毕业两年的初级人员就拿到1.5万+月薪的。

至于拿到OCM证书就能大概率获得企业CTO职位,更是无稽之谈,真当企业创始人或者HR大BOSS都是不长心眼的小白吗?

这种子虚乌有的抬高将Oracle数据库先捧上去,现在不明就里的读者环顾周围,确实啊现在一个Oracle DBA算啥呢,这种痛打落水狗的心理即使姜老师后面的论据再千疮百孔,也能让一部分人先入为主地觉得这白胡子真是没落了啊。


>今天还有同学在IMG微信群说Oracle的物理复制有多优秀。拜托,都9102年了,物理复制已经没什么好在吹牛的。物理复制不好做ETL,开启CDC那不就是逻辑日志了么?有人说,逻辑复制DDL很慢。拜托,现在MySQL 8.0数据库都已被开发成能瞬间加列(Instant Add Column)。还有人说,逻辑复制回放速度慢,主从有延迟。拜托,当2013年ICDE大会论文KuaFu: Closing the parallelism gap in database replication的发布,早已注定延迟问题将被彻底解决。当今,物理日志完败逻辑日志。

MySQL 8.0的才实现了瞬间加列,而20年前的Oracle 8i版本就实现了这个功能,真是不知道怎么还好意思拿这个作为论据?研发Oracle数据库的数千位研发人员是傻子?明明物理复制已经完败于逻辑复制了,还要不断升级Oracle Data Guard的物理复制功能?

用KuaFu论文中对于多核CPU的并行复制论文来反驳逻辑复制比物理复制慢,就更搞笑了。想来姜老师作为MySQL DBA经历的都是大并发小事务的互联网类型系统吧,大约从来不知道传统的企业级应用中动辄一个事务更新几GB数据乃至几十GB数据的常态,这跟并行就没什么关系,逻辑复制之所以效率低,是因为逻辑复制本质上是要抽取出源端执行的SQL语句,然后在目标端再重新执行,这种把之前做过的事儿再从零开始重新做一遍的操作,跟物理复制按照数据块直接apply的机制相比,就不是多少个并行可以增速的问题。


> 还有,部分传统企业的DBA甚至大佬们继续以Oracle RAC架构马首是瞻,认为有且仅有Oracle RAC才能保障数据的一致性。9102年了,距Lamport发明Paxos分布式共识算法已有18年的时间,数据一致性保障早已不是什么大难题。跨IDC、跨城分布式数据副本多活多写复制将成为新时代的标准,而Oracle RAC,能么?***对比MySQL Group Replication,曾经地球上最强的数据库架构Oracle RAC,亦黯然失色***。

Oracle RAC的最大作用是保障数据一致性?姜老师只是看到了Oracle RAC的最基本功能。然而实际上Oracle RAC使用的是同一份存储,数据一致性从来都不是Oracle RAC解决方案要去宣传的特点。Oracle RAC提供的是数据库高可用性的解决方案,高可用(High Availability)和数据一致性(Consistency)无论如何也不是同义词。多个实例访问和修改同一份数据,Oracle RAC机制当然是先保证了这同一份数据不会被写坏,也不会这边写入并提交了那边读出的还是老数据,然而这只是基础。Oracle RAC最大的功能在于当一个节点停机了以后,另外一个节点可以几乎无缝地继续提供服务,此谓高可用。


> 到这,相信肯定有同学会跳出来说MySQL牛逼,问题他不能做OLAP分析。好吧,这点无需质疑。问题在当今这个信息时代,Oracle数据库就可以么?别做梦了。OLAP,Hive/Spark能把Oracle按在地上摩擦,而Hive所有的数据库由MySQL数据库ETL得到。

 先不说姜老师是不是知道Oracle数据库在前几年就推出的Oracle In-Memory,内存中实现了列式存储的功能来支援超高速OLAP分析。单说这最后一句,翻译一下:老子是打不过你,但是我们班同学能打得过你,而且他就是我同桌,每天都能跟我肌肤相亲,所以。。。老子比你牛逼。

你还不知道Oracle有Oracle Big Data一体机吧,他能把你同桌按在地上摩擦。

 

> 数据库界的新一代海贼王必将是MySQL,而这艘阳光号上,船长将是MySQL,副船长Hive,狙击手Redis,舵手Spark。而距离地球最强男人倒下的顶上战争,相信也即将一触即发。

 Hive, Redis, Spark都上了,你怎么不再加上ELK?干脆把这几年出来的新技术都算成MySQL同伙,然后一起跟Oracle干呗?MySQL DBA+Hadoop DBA+Programmer十几人的团队也一定能干得过Oracle DBA1个人,我相信,可是,技术团队得多花多少钱姜老师帮真正买单的企业算过吗?

 

好了,就到这里吧,至于文章后面的评论里,姜老师说PG是垃圾没讨论的必要,对于任何一个反对言论都只会回答“Oracle DBA,鉴定完毕”这样的实力,各位仁者见仁智者见智吧。


至于为何迷恋Oracle,如果大家感兴趣,我可以结合MySQL从技术角度详细给大家唠一唠。

最后修改时间:2019-09-20 15:14:12
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论