Skip to main content

弃用 Oracle!

Oracle 狠甩 MySQL,涨幅大增

近日,DB-Engines 最新发布了 2018 年 8 月数据库排名榜,Oracle 稳居第一,同时是本月涨幅最大的数据库技术,涨幅高达 34.24,狠甩第二名 MySQL。

亚马逊:2020 年第一季度,我们将完全弃用 Oracle!

然而万万没想到的是,使用率位居第一的 Oracle 在国内外科技巨头的眼中,还是惨遭嫌弃了。
据外媒 CNBC 报道,随着亚马逊在数据中心技术方面的崛起,其已将 Oracle  在内的长期供应商列入竞争对手的行列。
现在,亚马逊将再一次打击 Oracle。据知情人士透露,亚马逊已经将其大部分内部基础设施迁移到亚马逊云服务上(AWS),并计划在 2020 年第一季度前彻底移除 Oracle 的专有数据库软件。
这一转变是亚马逊在企业计算领域迅速崛起的另一个迹象,并进一步表明了在企业将工作负载转移到云计算并抛弃传统数据中心时,Oracle 在努力跟上这一趋势。
据知情人士透露,其实早在四五年前,亚马逊就开始移除 Oracle,但是这一项目一直处于保密状态。不过亚马逊的一些核心购物业务仍依赖于 Oracle,整个转移过程大概需要 14 到 20 个月。此外,还有知情人士表示亚马逊考虑移除 Oracle 良久,彼时需要耗费太多人力及精力,且收益不容乐观,所以才会有所拖延。
亚马逊 CEO Jeff Bezos(来源:CNBC)
之所以想要彻底去除 Oracle,是因为亚马逊认为该数据库技术已经无法满足亚马逊的性能需求,且依赖 Oracle 数据库的新技术已经有很长一段时间没有任何进展。
当然,亚马逊自身的基础设施也不是万无一失的。在上个月亚马逊 Prime Day 购物盛会期间,该公司持续不断的容量升级需求带来了一场危机,彼时亚马逊网站的系统无法处理突发的流量激增。
购物者报告了许多试图访问该网站的错误。美国财经网站 CNBC 表示,这个问题跟内部程序 Sable 的崩溃有关。Sable 被亚马逊用来为其零售和数字业务提供存储服务。

口水战一触即发

早在今年 1 月份,美国科技新闻网站 The Information 就曾披露,亚马逊正在减少对 Oracle 的依赖性。对此,Drexel Hamilton 的分析师 Brian White 发表了一份声明对该报道提出异议,并引用了 Oracle 董事长 Larry Ellison 于去年 12 月的财报电话会议上的言论:
“让我告诉你谁不会弃用 Oracle,在这个季度,有一家公司刚向我们支付了 5000 万美元,来购买 Oracle 的数据库及其他技术,这家公司就是亚马逊。”
作为竞争者,没理由喜欢我们还继续购买 Oracle 技术来运营他们的整个业务。
Oracle 发言人在一份声明中表示,亚马逊已经在 Oracle 技术上花费了数亿美元,其中包括大约一年前花费的 6000 万美元。该声明还称:“我们认为,AWS 没有能够与 Oracle 数据库的功能相提并论的任何数据库技术。”
自从,这两家公司一直处于激烈的口水战中。去年,Oracle 的高管们高贺使用其数据库软件的成本优势。几周后,AWS 首席执行官 Andy Jassy 在接受 CNBC 采访时回击道,Oracle 离云计算还有很长一段路要走。
2014 年,AWS 推出了 Aurora 数据库服务,瞄准了 Oracle 的核心市场。此外,AWS 还提供了一种允许企业将数据库转移到云平台上的工具 Database Migration ServiceJassy 在 7 月份表示,该工具已经处理了超过 80,000 个数据库向 AWS 的迁移,并且其支持 Oracle 软件。
2016 年, Larry Ellison 表示亚马逊的 AWS 尚未做好迎接黄金时段的准备,他们的数据库客户还不能在亚马逊上运行重要的机器工作负载。
但从那以后,Oracle 没能在云基础设施领域获得显著的市场份额,而 AWS 在该市场遥遥领先,紧随其后的是微软、谷歌、阿里巴巴和 IBM。

Oracle:想弃用,不可能!

针对亚马逊弃用风波,本周二 Oracle 联合创始人兼董事长 Larry Ellison 在出席活动时进行了回应,他表示亚马逊很难完全依赖自己的数据库技术。
 Oracle 联合创始人兼董事长 Larry Ellison
曾经 SPA、Salesforce 均无法完全弃用 Oracle,如今亚马逊也是如此。
Larry 还表示,Oracle 软件比亚马逊的产品更强大,包括 Aurora 数据库和 Redshift 数据仓库,没有一个数据库像 Oracle 这样容易使用。亚马逊认为自己是竞争对手,此时要是还使用 Oracle 一定会让他们感觉尴尬。
他还认为:“亚马逊早在 10 年前就想着弃用 Oracle,但是因为他们很难完全依赖自己的数据库技术,所以直到现在他们还在使用 Oracle。他们自己的技术使用起来不方便,同时也不划算。”
对此,亚马逊拒绝置评。

国内巨头早已弃用 Oracle

不过,科技巨头想要弃用 Oracle 早已不是第一次出现,就国内而言,淘宝系、蚂蚁金服、搜狗等企业在几年前就已经开始去 Oracle 化了。
2012 年,彼时的支付宝数据平台负责人、阿里巴巴首席 DBA 冯春培向外界公布了阿里弃 Oracle 选 MySQL 的具体细节:
由于 PHP 当时在数据库方面的问题,淘宝当时从 MySQL 切入到了 Oracle。在这个过程中,由于架构是处于雏形阶段,因此技术能力以及架构能力都是偏弱的。
互联网企业的 DBA 承受的压力非常大,早在 2004 年时,数据库经常出问题。后来, 随着业务的发超速发展, Oracle 的优化还是承载不了业务的发展,于是开始拆分。这些事情完成由于涉及到安全、交易、涉及到数据的稳定性问题, DB 已经不能做了,这个时候就需要架构开始受到重视。
从 2007 年到 2009 年的这个阶段,架构的作用非常大。这个阶段,阿里系涌现出一系列架构师。当这个事情做完之后怎么样考虑企业成本的问题?
阿里在 2006 年开始考虑 Oracle 和企业之间的联系,当时我们了解到国内某银行使用服务商的全套产品(硬件+软件)以后,无法替换,因此我们在预测一旦由一家服务商绑定,我们的风险有多大,于是准备了向 MySQL 转移。
在“去 IOE (IBM、Oracle、EMC)化”浪潮中,蚂蚁金服也于 2015 年表示,支付宝的核心交易流量已经完全不依赖 Oracle 数据库,100% 由阿里巴巴自主研发的数据库产品 OceanBase 承载
无独有偶,到了 2016 年,搜狗 DBA 负责人王林平在接受 CSDN 采访时也给出了弃用 Oracle 的三个原因
第一,降低运维成本。Oracle 数据库自动化运维实现难度和成本较高,而MySQL 运维自动化难度和成本相对较低,当数据库实例不断成倍增长的时候,使用 MySQL 可以在有限人力的情况下维护更多的数据库实例。
第二,降低软件成本。Oracle License 成本较高,MySQL 及其分支目前是免费的。
第三,提高可扩展性。MySQL 是开源数据库,便于有技术能力的公司根据业务发展情况自己开发定制一些数据库周边服务,使数据库使用的扩展性提高,而 Oracle 对这方面的支持比较一般。

写在最后

相比开源的 MySQL,商业软件 Oracle 可以在所有主流平台上运行,且具有良好的可伸缩性和并行性,同时还有高性能、高安全性、低风险等优势,而对于很多企业弃用 Oracle 的原因,综合来看,一是使用及维护成本太高,二是如银行、金融等机构,去 IOE 以更好地保证国内信息安全。但就目前而言,国内很多中小型企业想要完全弃 Oracle 数据库技术并不大现实。
参考:
  • https://www.cnbc.com/2018/08/01/amazon-plans-to-move-off-oracle-software-by-early-2020.html
  • https://db-engines.com/en/ranking
  • https://www.cnbc.com/2018/08/07/larry-ellison-says-it-will-be-really-hard-for-amazon-not-to-use-orac.html

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...