译者注:本文作者Matt Asay,系Adobe开发者生态负责人,曾于2012-2014年任职于MongoDB.本文中的一些观点出于作者主观判断,难免有失公允,但总体上来说,近来Oracle在于数据库等方面的保守确认引人争议。
对于关系数据管理系统(RDBMS)巨头Oracle来说,它所面临的大挑战可能就是云计算。据Gartner称,Oracle在云基础架构市场只拥有一小部分-0.3%.但这个数字还不足以去解释云对于Oracle数据库业务的影响,这里还有其他值得考虑的事情:开发人员会优先选择哪中云平台?
开发人员会选择一款数据库,然后依照云供应商提供的可选方案进行使用。但问题是,通过哪些公有云服务(AWS、微软Azure和Google Cloud)来使用Oracle DB的成本高得难以承受,而Oracle又不肯放弃自己老旧的云服务系统。那么谁将从这种短视战略中获利?答案是开源数据库。
开源数据库?
是的,开源数据库。尽管像MySQL、PostgreSQL、MongoDB和Apache Cassandra这样的数据库长期受到Web开发人员的欢迎,但是在历史上它们一直无法与Oracle的核心数据库产品相抗衡。
不过,这已是陈年往事了。根据Gartner的分析,如今开源数据库在全球数据库市场占7.6%的市场份额(合26亿美元),如果这个数字看起来没有什么说服力的话,那么其实在过去两中,开源数据库管理系统的平均增长率为75%,而市场平均增长率仅为7.7%.
至于增长的原因?一部分是开发人员具有了使用现代数据库运行新应用的愿望。而AWS等供应商让他们的愿望变得更加容易实现,尤其是,它将许多流行的开源数据库转化为了服务,这消除了管理的复杂性。所以,在DB-Engines依据多个因素的数据库受欢迎程度排名中,有一半流行的数据库都是开源的。
而那些有志于在云或数据中心中运行数据库系统的用户,主要选择的也是PostgreSQL和MongoDB.选择前者的通常会是那些希望坚守关系型数据库但试图消除Oracle数据库那样高成本或复杂性的开发人员,同时MariaDB也在逐渐受到他们的欢迎。而自被Oracle以来,MySQL在过去几一直在“失宠”。
至于MongoDB,它是那些需要重构其应用程序的开发人员的首选,他们需要显著提升自身生产力或利用MongoDB文档型数据库以提供横向扩展的体系结构。但无论以那种方式,大家选择的都是开源产品,而不是Oracle的。
Oracle的忠实粉丝坚信这次开源冲击并不会给Oracle带来很大的影响,但这可能是错误的观点。Gartner分析师Merv Adrian指出,自2013年以来,Oracle每年都在失去市场份额。不过我们也要看到,下滑的应该不知是Oracle一家,自2011年至今,全球前五大的数据库供应商的总体市场份额也从91%下降到了86.9%.
尽管开源数据库并不会完全为客户带他们所宣传的种种收益,但如同Amazon DynamoDB或微软CosmosDB这样的专有云数据库一样,开源数据库所带来的影响也是数十亿美元级的。
不过,这些美元也只是一个侧面。 毕竟Gartner依据收入来衡量市场份额,而开源数据库免费使用的频率会比“付费”使用时高一些。鉴于这一点,Gartner认为,“从经验上来看,付费用只占实际用户群体的1%-5%左右”。换句话说,开源数据库可能让它的供应商获得26亿美元的费用,而相比之下,Oracle和其他供应商所赚取的费用要高的多(用户会支付更多)。似乎,对于Oracle来说,情况是越来越糟了。
让开发人员愉快
Oracle大的挑战可能不仅MongoDB或PostgreSQL这样开源数据库的许可成本,这些数据库的不仅可以将许可费用减低一倍,而且它们也极大节省了硬件成本。即使考虑了迁移成本、数据库管理员重启等成本,自Oracle数据库转移到MogoDB这一的数据库也将为用户节省出70%的成本。在AWS平台上,运行Oracle(RDS)的价格是每小时25.68美元,而运行PostgreSQL或MySQL(RDS)的价格仅是它的1/8到1/10.
同时,鉴于开发人员与DBA(数据库管理员)的生产力,这样节省出来的成本差异将会更大。
一个熟练的Oracle数据库DBA平均可以管理多大25个数据库服务器。但借助于自动化,这样的DBA可以在Amazon RDS上管理数百万太数据库服务器。
在开发人员方面,考虑到未来的开发人员是新的“上帝”,转向开源的DBMS更像是对开发人员进行“充电”,而不是让他们为了许可证或硬件成本从而“勒紧裤腰带”。MongoDB产品营销总监Mat Keep就提到:
“当我加入MongoDB时,大约有5%的项目是关系型迁移,如今随着企业开始寻求转型,这一比例已经达到了30%.成本可能是一个因素,但更常见的还是开发速度和运行规模。(从RDBMS)转型到云、微服务和敏捷/devops模式后,开发人员的生产力提高了3-5倍”。
即使在Oracle喜欢宣扬它可提供丰富功能的领域中,如Oracle HA, 实际情况也是,很多“丰富”实际上是数据库本身之外的。Keep表示,“你必须在数据库之外添加大量的内容(以让它能够工作),并用于进行复制、故障转移和监控等”。而当然,这是Oracle,每一个附加组件都是单独销售的,这结果自然是一个很夸张的价格和一个管理复杂度非常大的系统。而对Oracle更为不利的是,这些额外资源的唯一获取方式是通过Oracle云来进行访问,但基本上没有开发人员愿意进行使用。
同时,这些附加组件可能也不是那种革命性的产品。在Oracle最新的收益电话会议上,Oracle方面毫不避讳的说道,“自治性数据最令人吃惊的就是,它是全球唯一不需要人力管理的数据库”。
这是个100%错误的言论。在背后,Oracle仍有大量人员不停进行工作以使得系统得以持续运行,甚至是AWS和其他云供应商在更大规模化下提供的也是并非是真正的自动化数据库。如果有什么不同的话,那就是Oracle的产品远远落后于那些开源产品。
但是……
当然,Oracle还能继续在其数据库上获得可观现金流水是有原因的:它具有数十年的数据库建设经验,而且产品确实也非常出色。但问题在于,那些10年或20年为Oracle迎来声誉与口碑的产品现在正变得愈发令人不满,那些传统的优势已成明日黄花。
如今,可能Salesforce是最后一家将希望寄托于Oracle身上的大公司,但也有传言说它对自己的选择并不满意。与此同时,其他的大型SaaS公司,如Workday,一直在开发MySQL等开源数据库,并经常在AWS或其他云上运行这些数据库。当企业转向分布式计算时,他们会试图最小化失败的代价,如将存储与计算相分离,而当他们这样做的时候,Oracle早已不是他们考虑的合作对象。
另一方面,PostgreSQL和MariaDB等开源数据库消除了Oracle数据所固有的一种官僚作风。尤其是PostgreSQL,它使得将存储流程等从Oracle迁移到PostgreSQL过程变得相对简单。
即使是像MongoDB这样的非关系型数据库也没必要继续坚持使用Oracle的产品。Oracle总是让开发人员和DBA认为关系数据库建模等残留项目如记录事务等是至关重要的。但是这些并没有那么重要,愈发多的公司发现他们其实不需要“全脂”式的Oracle数据库,他们可以使用一个低成本的关系型数据库,或者他们可以抛弃关系型数据库模式,使用MongoDB提供的NoSQL数据库以提高开发人员生产力并获得数据库扩展方面的收益。
这对Oracle又意味着什么?因为迁移到其他数据库的过程中多少会出现一些问题,Oracle的传统数据库还会存在非常长的一段时间。但更有可能的事实是,我们将看到增长会转向那些开源数据库与云数据库(特别是那些开放型与多云模式的数据库)。同样,Oracle也有望继续加大自己的收购SaaS公司的力度,因为未来的发展将受到更多SaaS应用的推动,而不是传统数据库的。