当前位置: 首页 > 科技观察

为什么说云数据库是业务上的成功,技术上的倒退?

时间:2023-03-16 01:34:28 科技观察

我在越来越多的会议、媒体、文章、报道中看到一句话:“未来的数据库是云数据库时代,云数据库厂商终将取代传统数据库厂商。”首先,我不否认这个说法,但是云数据库是否真的推动了数据库技术的进步,还有待商榷。在这篇文章中,我想分享一下我的观点。商业成功近年来,我们发现以亚马逊AWS、微软Azure、阿里云polardb为主导的云数据库异军突起,迅速占领市场,慢慢蚕食着以DB2、Oracle为首的传统数据库厂商的市场份额。Oracle也从oracle12c版本开始向云端发展,但鉴于oracle架构的复杂性,这条路一直比较艰难,收效并不显着。\在2019年Gartner全球数据库魔力象限评选中,AWS、微软、阿里云、谷歌云均出现在这份榜单中,而微软云和亚马逊Azure已经对传统巨头甲骨文形成压力,处于领导者象限.同时,阿里云连续两年入选数据库魔力象限。2019年还首次入选挑战者象限,距离领导者象限仅一步之遥。随着阿里云、谷歌等云厂商的强势崛起,IBM、SAP的下滑幅度明显。IBM首次从领导者象限滑落到远见者象限。下面这份Gartner报告展示了2018年全球数据库厂商的份额对比。我们可以清楚地看到,云数据库厂商已经呈现爆发式增长,并且上升势头还在继续。\Gartner的数据显示,2018年,数据库云服务为整个数据库市场贡献了104亿美元,整个市场规模为460亿美元,这还不包括托管许可。同时,整个数据库市场近70%的增长来自于云数据库的增长。技术回归我自己是技术工作者,不是市场研究人员。所以我知道数据库是软件基础设施的“明珠”,其技术门槛之高是常人无法想象的。1977年,IBM完成系统R系统的原型设计,随后于1983年推出DB2数据库,成为关系型数据库的先驱;1977年,拉里·埃里森创立了甲骨文公司,同时在1979年推出了甲骨文数据库;postgresql始于1986年,最初是从Berkeley的postgres软件扩展而来。还有infomix、mysql、sqlserver、sybase等数据库,其实也经历了几十年的漫长发展。DB2和Oracle作为传统数据库厂商的代表,经过这么多年的发展,其实已经给数据库领域的研发带来了非常高的门槛。从头开始设计数据库非常困难。首先从最底层的模块开始:sql引擎、数据库对象、存储引擎、事务管理、缓冲区设计、内存设计、锁管理等都是非常困难的,将这些模块集成成一个完整的数据库更是难上加难系统,所以如果一个新的制造商从头开始制作一个新的数据库几乎是困难的。那么这些新的数据库厂商是如何实现弯道超车的呢?答案其实是:“概念+整合”。“概念”其实就是数据库“云”的概念。其实我一直觉得数据库是不适合云化的东西。Cloud其实有两个概念,分别代表两条云化之路。提供基础设施、软硬件,类似于公有云,适合个人客户或小客户;另一种是大型企业由于数据的重要性,需要把云搬到自己的数据中心,或者自建云,这里的云可以实现一套管理平台来管理所有的数据库,实现自助应用,自动部署,自动交付资源。“集成”是指云厂商不开发底层数据库内核,也不开发新的数据库,而是集成现有的开源数据库。云厂商研发的重点是如何整合这些开源数据库,实现统一管理,形成自己的一套大型云数据库。从用户的角度来看,用户不知道也不关心底层数据库。在实现IaaS、PaaS的同时,自动创建数据库实例、交付给用户、数据库维护、数据备份等维护任务均由厂商完成。因此,云厂商其实已经看到了市场机会。个人客户和小公司其实占据了绝大多数。维修费用的很大一部分。那我为什么说数据库云是技术的倒退呢。抛开市场不谈,单从技术上看,数据库云其实就是一个数据库管理平台。无论是公有云还是私有云,最终的技术研发仍然围绕着如何更高效地交付和管理用户数据库展开。事实上,内核中真正可以称为底层数据库的部分并没有改变或者改变很小。云厂商的底层数据库几乎都是mysql或者postgresql,集成起来提供兼容mysql或者postgresql的服务。当然,不可否认的是,很多厂商都做了很多技术上的创新,比如存储和计算分离,计算层的mysql或者pg可以无限扩展,存储层共享,使用rdma来计算层和存储层互联,实现高速访问。针对mysql进行了优化,比如基于redo的物理复制,使用全局内存代替logshipping提供一致性读等,这些功能虽然也触及了数据库的核心,但只是一小部分,毕竟是只有创新才能使云更高效,并且它们仍然符合市场。试想一下,如果未来这些云厂商真的取代db2、oracle这样的公司,是好事还是坏事?db2和oracle都是从最底层的数据库模型设计一步步走来的,这些技术的门槛很高,这些东西是数据库的基础。如果根基没有了,那“云”就只是一团空气。