摘要:云计算已经成为现在时,越来越多的企业将本地业务迁移至云端。一方面,数据库市场中的领导者掌握着绝对主动权;而另一方面它们在运维复杂度和成本上又存在明显弊端。云计算时代下,云数据库能否破局而出?
作者:恒谦
现任蚂蚁金服OceanBase资深技术专家,2014年加入OceanBase团队负责SQL引擎开发,现负责OceanBase上云平台的产品化工作。曾先后在神舟软件公司、神舟通用公司从事国产数据库研发和推广工作,作为核心成员参与多个国家级数据库项目。
不可逆转的趋势-从本地到云端
长期以来数据库系统(DBMS)的市场规模在软件行业里一直是最大的*。在2017年的总市场规模达到368亿美元,相对于2016年有超过8%的增长。然而在最近几年,传统的5家商业数据库厂商Oracle、微软、IBM、SAP、Teradata总市场份额却在持续下滑,从2011年的91%下降到2016年的86.9%。
与传统商业数据库的市场占有率持续下降相对应的是,AWS透露在过去的两年中,有超过64,000个数据库从传统商业数据库(Oracle等)迁移到AWS的云数据库服务。而这个数字在2017年4月份的AWS峰会上还是23,000。虽然AWS没有透露迁移的数据库规模有多大,属于核心业务还是边缘业务,但是从数量和增速上看还是十分惊人的。
传统模式的问题
一直以来,以Oracle为代表的传统商业数据库有两个比较大的问题:一是运维复杂,其次是成本高。Gartner分析师对Oracle数据库有一个形象的比喻:F1赛车。
F1赛车确实是好产品,动力十足,但是成本高昂,只有专业司机才能驾驭,另外还要配备一个专业的维护团队。Oracle数据库也一样,功能齐全、强大稳定,如果调教得当,稳定性和性能表现也非常出色,但前提是有一支具备足够专业知识的团队,从系统数据库设计到日常运维全方位的介入。
成本高则反应在两个方面:一方面是为了获得良好的性能和高可用,需要配备价值不菲的专用硬件;另一方面是license策略,因为无法准确地评估未来业务的发展对数据库的需求,为避免后续license不够用引起的法律问题(毕竟不敢惹Oracle公司庞大的法务团队),企业用户不得不在初期就购买了超量的license。某云厂商提供的Oracle数据库的替代产品解决方案中,一个卖点就是解决企业客户Oracle license纠纷的。
除了上述两个主要的问题,传统商业数据库在应对互联网规模应用所需要的扩展性和高可用性上,也先天不足。
客户的选择
客户对操作型数据库的选择在大型机时代是DB2,小型机时代是Oracle。在这两个阶段,用户的选择并不多,数据库市场领导者占据非常大的优势并掌握主动权。在业务系统开发方面,数据模型的设计是按照数据库的能力来定的,设计开发人员在某些情况下不得不牺牲业务以适应数据库系统,用“削足适履”来形容也并不过分。
互联网的快速发展给数据库提了完全不同的需求,高可用性和高扩展性超越功能性和性能成了要被最优先满足的需求。这两点不仅仅是提给数据库的,也是提给业务系统的。业务系统为了做到这两点,解耦合成了必然选择,微服务架构大行其道。
业务端的解耦合传导到数据库端,原先的one size fit all的产品不合适了,也不需要了。每一个细粒度的微服务需要的是适用于特定场景的数据库产品。相应地,在服务提供方,当前主流的云平台上就有了种类丰富,满足特定场景要求的各类数据库产品。
业务系统和数据库的关系从“削足适履“到“量体裁衣“,逻辑就自洽了。随着IoT、城市大脑等不断涌现的新场景出现,势必会催生新的数据库产品。AWS上目前提供将近10种选择,覆盖OLTP(Aurora、MySQL、Oracle、SQL Server等)、数据仓库(Redshift)、图数据、文档型、KV、缓存等不同场景。其CTO近期还专门有一篇文章来说明为什么会提供种类丰富的数据库产品。
不同行业、甚至同一行业不同发展阶段的客户对采用云数据库服务的态度也不尽相同。对于创业公司来说,业务系统和其依赖的SaaS平台都是在云上建立的,甚至可以说,整个公司都是云原生的(Cloud Native),使用云数据库服务是水到渠成的事情。
而对于传统企业,由于业务发展、架构升级及降低成本等方面的考虑,新业务也将开始逐步在云端建立;对于原先的核心业务,由于老业务系统开发、数据模型的确定都是基于传统关系数据库的,将这些系统迁移到新的云平台意味着应用重构,成本巨大,对技术团队的要求很高,实施起来有很大的难度。如果不是迫于无奈,大多数企业也没有动力去做这样的迁移。系统和人一样,都有很大的惯性,也有惰性。这也是为什么传统商业数据库目前仍占据大量市场份额的原因。但事情也正在发生深刻的变化,以金融行业为例,主机下移、上云平台已经不是一个需要论证的方案,而是一个已经在实施的行动。
厂商的策略及竞争优势
在最近两年的OOW(Oracle Open World)会议上,拉里·埃里森(Larry Ellison)多次把AWS的数据库服务当成吐槽对象来说事,既说它们只能满足中小业务的需求,无法有效支撑复杂业务;又说它们价格昂贵。
这些情况都说明了一个事实,Oracle正面临来自AWS的激烈竞争,并且已经有了实际威胁。Oracle的应对策略也非常直接,从两个方面入手:价格和易用性。
拉里·埃里森说Oracle正努力做到让从AWS迁移到Oracle的用户成本减少一半。在易用性上,Oracle推出云端自治数据库服务,目标直指当前Oracle运维和使用方面的痛点,期望做到数据库领域的“自动驾驶“、在保证业务正常运行的情况下实现自调优、自动升级运维、自动安全防护及自修复。如果“自动驾驶“的目标能够达成,不仅会大大减轻使用者的运维负担,也会给云数据库服务提供商提供巨大的降低成本的空间。
除了最赚钱的数据库业务,Oracle在企业级软件市场上产品堆栈十分全面,CRM、HCM、ERP等企业级软件都排在行业靠前的位置,丰富的企业级应用产品栈也是帮助Oracle占据数据库市场40%以上份额的重要因素。如果Oracle能自我革命,完成传统软件供应商到有云计算厂商的转型,从微软的情况来看,未来还是有竞争力的。
相对于Oracle,微软向云业务的转型就成功得多,在数据库服务方面,除不断丰富适用不同场景的产品,市场上也在拼命用低价吸引Oracle客户,其甚至宣称在提供Oracle产品相同性能的情况下,价格不到Oracle的1/10。如果说AWS代表数据库的新势力、Oracle代表传统势力,则微软代表的是传统向云的转型势力。
Gartner 操作型数据库魔力象限
在2017年Gartner 操作型数据库(Operational DBMS)魔力象限(Magic Quadrant)中,无论在执行力还是发展前景上,微软的得分均超越甲骨文,成为表现最好的厂商。不可否认,作为仅次于AWS的第二大云计算厂商,Azure云服务对微软在数据库领域的优异表现起了关键作用。
作为原生的云势力,相对于前两者,AWS在云计算市场上的先发优势不容小觑,业务规模达170亿美元并且以超过40%的速度增长,IaaS和PaaS收入都大幅超过其他玩家。从财报可以看出,在AWS众多的业务中数据库业务贡献了最多利润。AWS也透露关系数据库Aurora是其历史上增长最快的业务,可见云数据库的现金牛属性和巨大市场潜力。
从技术角度看,无论是功能还是性能,现阶段Aurora相对于Oracle还是有差距的。但云计算环境对新硬件及专用硬件的采用更积极,通过规模化和共享也使得成本能得以进一步地下降。通过采用新硬件及其他更先进的基础设施,云数据库服务会不断缩小和传统数据库方案在性能方面的差异,甚至超越,至不济也能赢得不断改进产品的时间。
熟悉Oracle的人对整合软硬件打造的一体机exadata必定印象深刻,而云平台天然具备整合IaaS和PaaS,进而打造一个有强大竞争力的数据库服务的能力。和客户购买Exadata的巨大前期投入不同,这个云端的深度定制系统在提供强大能力的同时,分摊到每一个用户的成本并不会显著增大。从某种意义上说,Aurora可以看作是AWS在这个方向上的一个尝试,它一定不会是最后一个。
除了丰富的数据库产品线和价格优势外,AWS的数据库迁移服务能力也在不断加强,数据流通的门槛正逐步降低。客户会因为成本和业务发展需求考虑其他选择,这对尚未占据云计算优势的传统商业数据库厂商不是一个好消息。前不久,AWS收购了PostgreSQL数据迁移服务公司OpenSCG,以加强从其他产品向PostgreSQL迁移的能力。众所周知源自PostgreSQL的EDB是目前Oracle兼容度最高的数据库产品,AWS此举的意义不言而喻。
经过10余年的发展,云计算深入人心,市场领先的云厂商已经在用户心智上留下了深深的印记,成了先进生产力的代表,在这一波的技术转型大潮中,留给其他传统商业数据库软件的时间窗口,或许不会太长。
(本文仅代表作者个人观点,不代表 OceanBase 立场)
*在2017年,数据库系统(DBMS)的市场规模首次被客户关系管理(CRM)系统超越。
+本文中引用的数据,如无特殊说明,均来自于Gartner统计报告。