Oracle是业界最大的单一数据库供应商,在云计算和开放源代码软件兴起之前,它曾经非常辉煌。
然而,现在,这家内部部署的RDBMS巨头面临着一个挑战,那就是云计算。据Gartner表示,Oracle在云计算基础架构市场上只占了非常小的一部分——0.3%。但是,尽管这个微不足道的小小数字还无法显示云计算对Oracle数据库业务造成的影响,还有其他值得考虑的因素:开发人员要做的第一个决定就是他们要使用哪种云计算平台。
然后开发人员会选择使用云平台提供的数据库选项。在开发人员真正使用的公共云平台上——AWS、微软Azure和谷歌云(GoogleCloud)——Oracle的数据库价格过高,Oracle的这种做法将其数据库的未来同其正在沉没的云计算巨轮绑在了一起。Oracle这种战略短视让谁获得了好处?开放源代码数据库。
打开数据库
是的,开放源代码数据库。尽管像MySQL、PostgreSQL、MongoDB和ApacheCassandra这样的数据库在Web开发人员方面已经长期得分,但历史上它们从来没有能够同Oracle的核心数据库进行竞争。
但那只是当时的情况。根据最近的Gartner分析,开放源代码数据库现在占全球数据库市场(合26亿美元)的7.6%,价值亿美元。如果这看起来不算多,那么想想看,在过去两年中,开源数据库管理系统(DBMS)市场的平均增长率为75%,而整个市场的增长率仅为7.7%。
增长来自哪里?部分原因是它反映了开发人员使用现代数据库运行新应用程序的愿望。特别是AWS已经让这些决定变得更容易了,它采用了许多最流行的开放源代码数据库并将它们转化为服务,消除了管理它们的复杂性。因此,按照DB-Engines根据多个因素对数据库受欢迎程度的排名,现在世界上最流行的数据库中有一半都是开放源代码的。
把镜头拉远一点,你就会看到排在第15位的MariaDB,这是MySQL的一个分支。再拉远一点,你会看到很多其他的开放源代码数据库,特别是那些已经被AWS变成云服务的数据库,在流行排名表上的位次正在大幅度上升。
如同前面所说,开发人员在数据库方面越来越多地转向云计算,推动大量来自亚马逊、微软和谷歌的数据库服务在DB-Engines榜单上排名的提升。对于那些希望在云或他们数据中心中运行数据库的用户,主要是在PostgreSQL和MongoDB之间进行选择。
对于那些想要坚守关系型数据库但是又想避免Oracle的高成本和复杂性的开发人员来说,前者是他们的首选。MariaDB也越来越成为这一群体的选择。而MySQL自从被Oracle收购之后,在过去几年中则有些失宠。
而如果一位开发人员要重构他的应用程序,并且需要显著提高开发人员生产效率或者需要MongoDB文档数据库提供的横向扩展体系结构时,另一个选项——MongoDB就会是很好的选择。无论是两者中的哪一个,都是开放源代码的,而且不是Oracle。
对于那些Oracle的忠实粉丝来说,相信开放源代码的冲击没有对这家数据库巨头产生任何影响是非常令人欣慰的。但是这种想法也可能是错误的。在同Gartner分析师MervAdrian的对话中,他指出Oracle从年起一直在丢失市场份额。作为一个整体,排名最靠前的五大数据库供应商“俱乐部”总体占据的市场份额自年以来,从91%下降到了86.9%。
虽然开放源代码数据库无法得到这张幻灯片上所有的功劳,亚马逊DynamoDB或者微软CosmosDB之类的私有云数据库也在发力,但是几乎可以肯定开放源代码数据库正在数十亿美元的市场中纵横。
但是这些美元的数字也不能说明整个情况。
毕竟,Gartner是根据收入来衡量市场份额的。但是,开放源代码数据库免费使用的频率比“付费”使用的频率更高。认识到这一事实,Gartner认为“一个好的总体经验法则是,付费用户只占实际用户群的1%-5%”。换句话说,开放源代码数据库可能为其供应商赚取了26亿美元,但是,它们消灭了更高数量级的用户付费,如果不是它们,这些原本会是Oracle之类的厂商的收入。
可是等等!对Oracle来说情况则变得更糟。
让开发人员开心
Oracle的最大风险并不是像MongoDB或PostgreSQL这样的开放源代码数据库。开放源代码软件%地节省了许可费用,而且开放源代码数据库也大大节省了硬件成本。如果全部拥抱开放源代码软件的话,企业可以通过从Oracle转移到像MongoDB这样的数据库节省70%的成本(即使你考虑了迁移成本、重新培训数据库管理员等成本在内)。在AWS平台上,运行Oracle的标价(RDS)是每小时25.68美元。运行PostgreSQL或MySQL(RDS)的价格是它的1/8到1/10。
尽管这些方面成本节省的幅度很大,可是开发人员和DBA生产效率的成本差异甚至更大。
对于熟悉Oracle数据库的数据库管理员来说,他们平均可以管理多达25个数据库服务器。可是由于自动化的好处,同样的DBA可以在亚马逊RDS上管理数百万台数据库服务器。看看规模吧。
在开发人员方面,考虑到开发人员是新的王者,正如Redmonk喜欢提醒我们的那样,转向开放源代码DBMS更多的是超级计费开发者,而不是围绕许可证或硬件成本有任何紧缩计划的开发者。MongoDB的产品营销总监MatKeep将这个问题置于个人背景之下:
当我加入MongoDB时,大约5%的项目都是关系型迁移——现在有30%是公司希望转型。成本可能是一个因素,但更多的时候是开发速度和运行规模。在从RDBMS切换之后,将MongoDB与云计算、微服务和敏捷/开发工具结合在一起,将开发人员的生产力提高3到5倍并不罕见。
即使在Oracle喜欢吹嘘它提供的功能丰富的领域(如OracleHA),现实情况是,“丰富性”实际上是数据库本身的外部因素。Keep表示,你“必须在数据库之外添加大量的东西,才能进行复制、故障转移,监控等等。”当然,这是Oracle,这些附加软件中的每一个都是单独销售的,导致价格高昂,而且让系统管理复杂。对于Oracle来说更糟糕的是,开发人员访问这些Oracle额外资源的唯一方法是在Oracle的云平台上,而这个平台基本上没有人愿意使用。
这些附加工具也不是那种革命性的东西。在Oracle最新的财报电话会议上,该公司直言不讳地表示:“关于自动数据库令人吃惊的是,它是这个星球上唯一不需要人力来管理的数据库。”
这种说法%是错误的。在幕后,Oracle有大量的人员跑来跑去地忙碌,即使是AWS和其他云供应商已经在更大规模上提供了真正的自动化数据库。如果有的话,Oracle是开源数据库的云版本的后盾。
但是,但是,但是......
当然,Oracle的数据库销售还在产生巨量的现金也是有原因的:它有数十年建立数据库的经验,而且做得非常好。然而,问题在于,这些在十年前或者二十年前对Oracle有用的东西在现在看起来已经变得越来越不理想。它诸如规模化架构之类的优势现在看来只是过去时代的遗迹。
说到最近将未来寄托在Oracle上的大公司。Salesforce可能会出现在你的脑海之中,尽管关于它对自己的选择不甚满意的传言已经甚嚣尘上。与此同时,像Workday这样的其他大型SaaS公司一直在构建像MySQL这样的开放源代码数据库,而且经常在AWS或其他云上运行它们。随着企业转向分布式计算,他们试图将故障成本降至最低,例如将存储和计算分开。当他们这样做时,Oracle根本不是一个考虑因素。
PostgreSQL和MariaDB之类的开源数据库消除了Oracle数据库固有的官僚主义。特别是PostgreSQL使得将存储过程从Oracle迁移到PostgreSQL变得相对简单。
即使是像MongoDB这样的非关系型数据库也在减少坚持使用Oracle的理由。Oracle让开发人员和数据库管理员认为关系数据建模的这些遗留问题——如多记录事务——是至关重要的。然而它们不是,越来越多的公司发现他们不需要“全脂的”Oracle数据库,可以使用低成本的关系型开放源代码数据库,或者他们发现自己根本不需要一个关系型数据库,并且可以在开发人员生产力提升以及MongoDB等提供的NoSQL数据库(具有ACID保证)的扩展等方面受益。
这对于Oracle来说意味着什么?鉴于迁移到其他数据库涉及到的多少摩擦,Oracle数据库应该可以持续很长时间,非常长的一段时间。更有可能的事实是,我们将看到所有的增长都转向开放源代码数据库和云数据库(特别是那些既是开放源代码又是云的数据库)。同样,估计甲骨文会继续收购SaaS公司,因为它的未来将更多地受到SaaS应用程序的推动,而数据库优势将变少。