技术分享
国产数据库激荡 40 年
2021-09-08
在被 Oracle、MySQL、DB2 等产品蚕食的中国数据库市场,国产自研数据库如何才能真正崛起?
一年前,在中兴通讯制裁事件之际,笔者曾请教过巨杉数据库(SequoiaDB)联合创始人王涛一个问题,「在 CPU、操作系统、数据库这三个技术软硬件核心领域来看,在哪一方面自主化的步伐能够更快?」彼时,王涛给出了「数据库>芯片>操作系统」的结论,「过去很多原本使用 Oracle、MySQL 的企业已经转用我们国内的数据库,这是已经发生的事情,不是未来时,而是现在时。」
从 2017 年 Gartner 发布数据库系列报告我们第一次看到国产数据库的身影,阿里 AsparaDB、南大通用 GBase、和 SequoiaDB 首次入选,2018 年 11 月,华为云、腾讯云紧接进榜。
今年 5 月,华为将从 2008 年便开始研发的 GaussDB 数据库发布,并率先通过中金国盛金融行业标准符合性试点测评。同时,在 9 月华为全联接大会上,面向开源,正式宣告了鲲鹏智能数据产业联盟数据库产业推进组的成立,汇聚数据库产学研生态各方力量,推动国产数据库发展。
10 月 2 日,国际事务处理性能委员会公布了数据库最新性能测试结果,在 TPC-C 基准测试中,由阿里巴巴集团蚂蚁金服自主研发的分布式关系数据库 OceanBase 打破了由 Oracle 保持了 9 年的 TPC-C 基准性能测试世界纪录,一时引发行业热议。
这既代表数据库自主化步伐更快的这个答案得到了印证,也让国人的目光逐渐地聚焦在了数据库这一领域。
近几年的记忆尤为鲜活动人,但实际上国产数据库的起步要比我们想的更早、更曲折,要想厘清中国数据库几经波折的发展脉络,还需要从数据库的源头开始说起。
一、数据库的前世今生
回顾整个数据库发展史,避不开的 Oracle。《浪潮之巅》一书中,作者吴军评 Oracle 的兴起,「很大程度上靠的是它最早看到关系型数据库的市场前景,并且在商业模式上优于 IBM。」
同时还颇值得关注的一点,如果没有信息革命,Oracle 创始人 Larry Ellison 也许不会走上数据库之路。
在信息革命之前,对于数据的管理、存储哪有数据库的概念,其实更多地是依靠人工来进行管理。彼时在以 0 和 1 为基础的数字化时代拉开帷幕之际,对于计算机而言,从硬件角度来看,外存只有纸带、卡片、磁带等概念,而软件也尚未有完善的操作系统诞生,这个时候更多的是依靠分拣机、制表机、纪录机等工具,人工手动地记录各种完整的数据。值得一提的是,如今已经 108 岁蓝色巨头 IBM 在这个时期正是凭借着打字机、处理机、以及大规模定制企业的信息技术和业务解决方案而逐渐壮大。
后来到了 20 世纪 50 年代后期,随着磁盘、操作系统、磁芯存储器等数据存储设备的出现,新的数据处理系统迅猛发展起来。其中在操作系统中,也诞生了一种专门管理数据的软件,而它被称之为文件系统。彼时的文件系统对于企业而言,通常被视为一种存储着无数离散的对象的文件柜,不过这也实现了记录内的结构化。
20 世纪 60 年代,当计算机开始广泛应用于数据管理,以及大量信息的涌入时,业界发现传统的文件系统已经远远无法满足对于查询、存储、管理数据的需求,恰逢此时能够统一管理和共享数据的数据库管理系统(DBMS)应运而生,最终基于 DBMS,用户可以更加方便快捷地编组大量数据。1964 年前后,来自军事信息系统的工作人员创下了「(Data Base)数据库」一词,用以表示由分时共享计算机系统终端用户共享的数据集合,可以视作数据库概念的真正诞生。
在后面的一段时间内,数据库系统的发展经历了好几个阶段:层次数据库、网状数据库和关系数据库等。从目前市场来看,关系型数据库已经成为数据库产品中最重要的一员,其中典型的代表企业与产品有 Oracle、开源的 MySQL、IBM 的 DB2、微软的 SQL Server 等等。而在深究关系型数据库为何如此受欢迎时,我们发现这主要是因为传统的关系型数据库可以比较好地解决管理和存储关系型数据的问题。
二、中国数据库发展史:从依赖进口到自主研发
在回首以上全球数据库发展史的过程中,相对而言,国内数据库技术的普及稍显晚一些。上世纪 70 年代,也就是从 1970 年 IBM 英裔美籍计算机科学家 Edgar F. Codd 提出关系型数据库的理论到 1978 年 Ellison 创办的 SDL 软件开发实验室在 DEC 小型机 PDB-11 上开发出一个代号为 Orace 1 的基于关系型数据库系统,再到 1979 年推出 Oracle 2 并商用的这段岁月里,中国数据库正式开启了理论研究。
△Edgar F. Codd,https://amturing.acm.org/award_winners/codd_1000892.cfm
但直至 80 年代初,中国信息技术建设的发展才与国际接上轨道,而彼时在人才、技术等急缺的窘境之下,我们更多地是采用引进国外先进的手段来弥补国产技术的空白点:
1989 年,Oracle 决定进军中国,并将 Oracle 的中文名注册为“甲骨文”。而要说 Oracle 之所以能有今天的成功,除了硬实力,机遇同样很重要。就在 Oracle 成功进入中国市场几年后的 1995 年,国内的邮电部电信总局提出开发和建设市内电话业务计算机综合管理系统,即为“九七工程”,其并于在同年下发了一系列的技术和业务规范,要求全国县以上的邮电局在 1997 年底前实施「九七工程」。1997 年,Oracle 顺利地拿下东三省邮电管理局 5 期工程的大单,由此在中国数据库领域迅速站稳了脚步;
1991 年,Sybase 进入中国大陆,经过一段时间的本地技术人才积蓄与市场开拓后,在 1993 年投资 230 万美元正式建立 Sybase 在中国的公司,注册名称为赛贝斯软件(中国)有限公司;
1992 年,IBM 在正式进军中国之际,启动了「发展中国」的大战略,带来了 DB2 和 Informix 等产品;
1992 年,Microsoft 在北京设立代表处;
……
就在短短这数十年期间,中国数据库行业的格局在激烈的角逐中已然成了型:金融行业中以 IBM 的 DB2、Informix 的为主,电信行业中则被 Oracle 一统了江湖。
不过在国内互联网起步之初虽有外企数据库技术做支撑,但业界无论是谁,也都清楚地明白那些终归不是自己的东西,更至关重要的还有国外数据库厂商在标准制定中携带私货。因此在整个 80-90 年代期间,我国自主的数据库研发也并没有闲着,且随着互联网门户网站时代的来临,各大 IT 社区也逐渐活络起来,很多技术人/企业也开始从幕后走向了台前,这其中就包含了达梦、人大金仓、神州通用、南大通用等专注于国产数据库的新星们,也包括了阿里巴巴、腾讯、百度等如今的互联网巨头。
风云起,时代变,一切局势都在潜移默化中开始扭转。
在业务规模不断扩大、数据量和业务量呈爆发式增长模式下,以「Oracle 数据库+IBM 小型机+EMC 的开支」高昂输出让不少科技企业逐渐无法忍受,对此,用时任 2012 年支付宝数据平台负责人、阿里巴巴首席 DBA 冯春培的话来解释彼时阿里去 IOE 化的初衷:「互联网企业的 DBA 承受的压力非常大,早在 2004 年时,数据库经常出问题。后来, 随着业务的发超速发展, Oracle 的优化还是承载不了业务的发展,于是开始拆分。这些事情完成由于涉及到安全、交易、涉及到数据的稳定性问题, DB 已经不能做了,这个时候就需要架构开始受到重视。」
在此局面下,开源的 MySQL 迎来了自己的春天,也开始逐渐动摇了 Oracle 一统天下的地位。但人要懂得居安思危,产品亦然,因为“你永远不知道,明天和意外哪个会先来”。
譬如,最初于瑞典 MySQL AB 研发的 MySQL 在经过近 30 年成长后,于 2008 年被 Sun 公司以 10 亿美金收购,然而还未等 Sun 公司对其大刀阔斧完善去推广之际,Sun 公司就又被 Oracle 成功的以 74 亿美元收购了,而意欲和 Oracle 一决高下的 MySQL 也在一时之间成为了它的自家人。
这一消息的到来,无疑意味着 Oracle 在业界的版图又在一夕之间扩大了许多。但对于国内数据库市场而言,这未必是个好消息。直至今日,根据 DB-Engines 数据库流行度最新的排名显示,位居前位的依然是几家老牌数据库企业。
那么,在被 Oracle、MySQL、DB2 等产品蚕食的中国数据库市场,国产自研数据库又该如何崛起?
三、数据库怎么才能成?
生于 60 年代,85 年读研即开始学数据库的华东师范大学副校长周傲英教授在谈及中国数据库发展时,感怀之情溢于言表,他对 CSDN(ID:CSDNnews)这样说道:「数据库一直都是中国的切肤之痛,从六五(指第六个五年计划)开始,我们就在立项,我们要做自己的数据库,但我们一直没有弄明白,为什么我们做不出来自己的数据库,后来到了互联网时代,我们一下子醒悟过来了,就是生态。这之中既包含用户生态,更包含技术生态,前者是我们要将国内数据库市场空间做大,后者是我们要形成合力,因为数据库要解决的问题是综合性的,只有一起才能将这个事情做好。」
这个理念,与华为 IT 产品线副总裁、智能数据与存储领域总裁周跃峰不谋而合,也正是鲲鹏智能数据产业联盟数据库产业推进组的初心。周跃峰向 CSDN(ID:CSDNnews)说道:「华为做数据库已经很多年了,过去华为做数据库主要是为了解决自有产品的业务连续性问题,华为很多产品中都要使用到数据库,有一种最直接的办法就是集成 Oracle 数据库。大概几年前,我们意识到未来可能会有风险,因此就开始研究自己的数据库,到今天,一方面是可靠性稳定性都已良好到了推向市场的阶段,同时,也是因为美国的事件对我们的业务连续性产生影响,于是就干脆开放出来让大家都来用。同时我们也要意识到,数据库和其他产品不太一样,它是需要生态和合作伙伴的,特别是用户生态和技术生态,光靠自己是远远不够的,需要产学研界一起合作,实事求是地讲,国产数据库相对于美国数据库,在技术上还是有一点差距的,因此对于我们来讲,必须要走到一起。」
△华为 IT 产品线副总裁、智能数据与存储领域总裁周跃峰(左)、华东师范大学副校长周傲英教授(右)及作者(中)
的确如周跃峰所言,一直以来,数据库是软件工业的重工业,也和操作系统、中间件并列为三大基础软件。如今随着万物互联设备的不断增多,高流量的数据正在通过网络输出。不言而喻,我们正在进入一个大数据时代,对于数据的处理,也就是对于数据库产业而言,是一个巨大的机会。不过,当前就国产数据库而言,还面临着诸多的难点。
这是一个最好的时代,在当前自主可控的背景下,国产数据库迎来了真正的春天。同时,在 5G、AI、云计算等技术驱动下,国产数据库在分布式、云化这条道路上也开辟出了一条全新的赛道。但同时,我们也面临着非常严峻的挑战。在这个百花齐放百家争鸣的时代,通用数据库的标准、规范绝大多数仍掌握在上文所述的国外数据库大厂手中,我们如何打破常规,将统一通用的标准紧紧地握在自己手中?
在华为的推进下,今年 9 月,包括华东师范大学、人民大学、信通院、中国电子技术标准化研究院、达梦、金仓、神通、神州数码、用友、云和恩墨、CSDN 等在内的数据库产学研界各方代表齐聚一堂,进行了长达 4 个小时的闭门会议。
在这个过程中,不少专家一致认为,数据库的标准很重要,而如何把一些技术做成标准被市场广泛的接受,是业界需要齐心去思考与探索的事情。对此,他们也分享了一些自己的看法与建议:
国内数据库只有遵循统一的标准,将来数据库才能互联互通的,如果企业搞封闭或者各自独立完成,那么将失去共赢的机会;
其次,在面向开源时,这些技术产品/标准首先需要解决信任以及开源知识产权的一些问题,才能被业界慢慢接受;
再者,这些产品还需要在技术上有足够深度的打磨,并长期地使用与优化。
- 标签:
-
其他