搜索
❏ 站外平台:

风起云卷:中国数据库四十年史话

作者: 丹如

| 2020-06-18 22:53      

撰文:丹如 | 编辑:猛哥 | 图源:网络

“科技行业已经没有什么惊心动魄的大事了!” 

进入 2020 年,已经有不止一家媒体或者科技 KOL 做出这样的断言。

相比 2012 年的 O2O 大战、2015 年的双创热潮、2016 年的小巨头合并,以及 2018 至 2019 年的中概股扎堆上市,2020 年显得格外寂寞。 

最近的爆款文章《腰部互联网没有新闻》更是描述了如今科技行业的落寞,由此该文的作者做出推论:互联网变得如此平静,是因为上一波创新的浪潮已经结束,底层技术不再更新。

事实上,早在几年前,英特尔 CEO 就在多个场合表示“摩尔定律失效了。”(摩尔定律是指“集成电路上可容纳的元器件的数量每隔 18 至 24 个月就会增加一倍,性能也将提升一倍)

软件的发展很大程度上取决于硬件的突破,而摩尔定律的失效,似乎暗示已经影响了整个世界长达半个世纪的信息革命正在走向黄昏。 

但就像眼睛会欺骗大脑,人们同样会被水面上的平静所迷惑,最终忽视了正在影响未来走向的底层技术变革。

作为三大基础技术之一,数据库就是水面下的那座冰山。

1

国产数据库更是在过往四十多年都少人注目,直到近年,行业才有密集的动作。 

6 月 8 日,蚂蚁集团宣布将自研数据库产品 OceanBase 独立进行公司化运作。

巨头的数据库产品成为独立公司,对行业的意义不可谓不深远。但对普通人而言,它完全无法与“地摊经济”、“电商直播”等热词争夺注意力。即便被看到,大部分人也会下意识问一句“数据库是个啥?”

“数据库是个啥?” 

1978 年,中国人民大学经济信息管理系首任系主任萨师煊第一次将“数据库”这三个字写在黑板上时,恢复高考后的第一批大学生坐在下面也产生了同样的疑问。

萨师煊(前排左四) 

对于这个问题,今天 B 站的科普 UP 主或许会给你讲个段子,比如 ATM 刚出来时,不少用户都以为有一个人藏在机柜里,给用户取钱和存钱,但实际上那背后只是有一套自动化操作系统。

数据库也是类似的软件系统,它的主要工作是在你使用支付宝、微信等应用时,帮你储存、计算和分析数据。它和操作系统、中间件共同构成计算机最基础的三大软件。

但萨师煊当时没办法用这么生动的案例告诉他的学生,在那是个电视机都还没有被广泛普及的年代,数据库这样高深的互联网技术是如空中楼阁一样的存在。想要让学生明白什么是数据库,萨师煊只能借助人大少数的几台电脑和美国科学家们有关数据库的论文为学生进行授课。

一年后,他拿着自己的讲稿汇集成《数据库系统简介》和《数据库方法》,发表在《电子计算机参考资料》上,我国才有了最早的数据库学术论文。但此时距离关系型数据库之父 E.F.Codd 在美国发表《用于大型共享数据库的关系数据模型》这篇划时代的论文,已经过去了九年。

这九年间,国外的数据库技术基本已经完成了从实验室到科技商用产品的市场化历程,数据库从网络型和层次型数据库过渡到关系型数据库后,以甲骨文、微软、IBM 为首的一大批数据库公司崛起,推出了包括 Oracle、DB2、Informix 等主流数据库产品。 

“甲骨文”这个名字其实并不是 Oracle 的音译,这是美国 Oracle 公司进驻大陆时的代理人冯星君为打开大陆市场而抢注的品牌名字,而“Oracle”本身只是公司创始人埃里森为中央情报局设计的数据库的名字。

但冯星君的一通操作猛如虎后,“甲骨文”这个代表着中国历史上最古老文字的名称,就此成为了一家美国数据库公司的闪亮招牌。

Oracle 时期的冯星君

1980 年代,甲骨文最早进入内地市场时, Oracle 的盗版产品还在中关村泛滥。但冯星君以比盗版还低的价格迅速收割了混乱的市场。等到国家为促进电信行业的发展提出“九七工程”后,Oracle 更是一举拿下东三省邮电管理局5期工程的大单,和 IBM、DB2、Informix 数据库,共同瓜分了银行和电信这两个领域的数据库市场。

当国外数据库产品在中国市场狂飙突进,以萨师煊为首的中国数据库先驱者们奔走在各大高校中,培养了中国最早一批数据库人才。

1983 年,萨师煊与弟子王珊合作编写出划时代的专著《数据库系统概论》,至今还被国内高校计算机专业沿用。

一年后,王珊访美回国之际,给时任中国人民大学校长袁宝华写了一封信。 

她建议学校成立数据与知识工程研究所:

“成立研究所确实是当务之急。我们要集中人力,搞一些切实的研究课题,开发真正能与国外竞争的数据库系统、应用生成系统产品。这是对国家最大的贡献……”

国产数据库的征途就此启航。

与此同时,国外数据库已经迭代了超过七个版本。

伴随改革开放后经济的高速发展,对数据的管理和储存爆炸式增长,国内公司只能选择更为成熟的海外产品。 

不止数据库,从底层操作系统到中间件,我们都采用了国外厂商的最佳实践。

如今回看这段历史,我们在上述三个领域受制于人,正是始于那一刻。

但当视角缩小到时代浪潮中的个体时,又不得不感佩萨师煊等前辈们的先见之明与努力。 

即便受困于外在环境,他们都从未放弃对先进技术的关注。抓住一切机会,为国产数据库的未来积蓄力量。

2

另外一批人也抓住了机会。还记得前文提到过的冯星君吗?

作为甲骨文打开内地市场的头号功臣,这个头脑聪慧的人,从狱警一路做到外企高管,最终抛掉手中全部股份离开了甲骨文。 

离职后,他给媒体分享了一个甲骨文总裁埃里森来北京的故事:

1997 年 1 月 27 日,埃里森乘专机飞临北京,原定行程是要到长城拍摄电视片,制作方为此找了 20 个小学生群演。结果埃里森因为不愿起床,让小学生们在零下 20 度的天气里等了一个多小时。等他在长城玩嗨了后,又提出取消下午和时任总理的会面,在冯星君以辞职相挟后。他虽然准时参与了会议,却坚持带保镖一起进人民大会堂。 

埃里森

有人将之归结为埃里森的粗鲁强硬风格,但 20 年后,风格同样强悍的马斯克,面对中国市场,却要极力表现自己的热爱。

只是因为时势反转。

埃里森的肆意妄为与当时甲骨文在内地数据库市场的绝对垄断有莫大关系。

1992,邓小平南巡讲话后。中国对国外技术产品同样予以公平的市场环境。

国外数据库公司们趁机涌入内地市场。

除了 1989 年就靠代理进入中国,1992 年设立独资公司的甲骨文。

1991 年 12 月,Sybase 投资 230 万美元在中国正式设立赛贝斯软件。

1992 年,IBM 正式进入中国,带来了 DB2 和 informix。

1992 年 10 月,Microsoft 在北京设立代办处

…..

一直到今天,国内的数据库大部分的市场份额仍旧被这几家公司占据。

而国产数据库公司在夹缝中艰难的崭露头角。1999 年,王珊领头成立了国内第一家数据库公司人大金仓。2000 年,华中理工大学(现华中科技大学)讲师冯玉才成立了武汉达梦,后来这两家公司与神舟通用、南大通用并称为国产数据库的四朵金花。

与海外数据库公司学研产分离不同,早期的国产数据库公司几乎都是从大学的科研实验室孵化出来,再到市场进行打磨,在这背后,始终有体制内的力量在推动。

为了扶持国产数据库的发展,国家863计划设立了“数据库重大专项”、“核高基”重大科研专项、以及“973”等计划,为高校的数据库研究提供经费支持,国产数据库四朵金花正是借此才度过了破冰期。

这一点冯玉才深有体会,早在 1988 年,他就成功研发出了我国第一个拥有自主版权的数据库管理系统 CRDS,但他下海后,很长一段时间都找不到敢于尝试国产产品的客户。直到后来,国家某机构扶持国产数据库,他才获得了 60 万的启动资金。 

"在数据库领域,面对国际市场竞争中的强大对手,我们是渴望并正在长大的小孩子。”很多年后,冯玉才感慨。 

但即便如此,这一批国产数据库的商业先行者还是以莫大的勇气向巨头发起了挑战。

3

其实 1990 年代,在国产数据库的崛起队伍中,除了高校的自研团队外,还有另外一拨人。 

他们成长于国家的“九七工程”,早期几乎都聚集在北京的外资公司担任 DBA(数据管理工程师),由于人才稀少,圈子狭小,大家要么在线上社区扎堆研究国外的最新文献,要么就在线下撸串时讨论技术问题,后来这批 DBA 都成为互联网公司们争相追逐的对象。

其中有三家公司的 DBA 被行业公认最牛,一是 eBay,二是淘宝,三是支付宝。

为什么这三家公司的 DBA 最强呢? 

这还要回到数据库的本质计算与储存来看。2000 年初,在淘宝与 eBay 的对战中,这两家公司的数据库都在大量的吞吐交易数据,当时势单力薄的淘宝,为了保障交易稳定,不得不使用最好的数据库 Oracle,每年都需支付巨额的服务费。 

提到服务费,这里解释一下 Oracle 收费模式。

当年冯星君与 Oracle “分手”就源于数据库收费模式,按照国内习惯,软件购买都是一揽子生意,支付版权费即可。但 Oracle 却在版权费之外,每年再收一定的服务费。

客观讲,Oracle 的服务确实不掺水。但为了保护自家的技术,Oracle 始终是一个黑盒子,一旦出现问题,内地 DBA 只能呼叫在大洋彼岸的甲骨文员工前来解决。

如果问题很紧急呢?也得等对方醒过来,再来调配。

卑微如斯,中国大部分互联网公司还不得不捏着鼻子忍下这口恶气,始终采用 Oracle + IBM 小型机 + EMC 的模式来维持公司的正常运营。 

但也有不服就干的公司。

为了摆脱强势的 Oracle,一批中国互联网公司转向开源数据库 MySQL。

Oracle 与 MySQL 有什么区别呢?

对于数据库的使用者而言,Oracle 类似苹果系统,安全稳定但封闭性强,MySQL 则像安卓系统,他们为开发者提供一个框架和社区,后续产品全凭开发者打磨和运营。

开源数据库是对商用数据库的挑战,不少人都对 MySQL 寄予厚望。但没承想,MySQL 如今被 Oracle 收购,转型成了半商用数据库。 

摆在中国公司面前有两条路,一是像人大金仓、武汉达梦一样坚持自研,二是混合使用商用数据库和开源数据库,逐渐过渡到自研。

4

一个偶发事件助推了中国数据库公司自研的进程。 

2013 年,斯诺登给英国《卫报》和美国《华盛顿邮报》发送了一份绝密资料:美国 2007 年启动了一项代号为"棱镜"的秘密项目,要求电信巨头威瑞森公司必须每天上交数百万用户的通话记录。 

 

消息一出,震惊的不仅仅是美国公民,大量使用国外信息软硬件的中国公司同样备受震动。

“棱镜门”事件爆发以后,一些机构开始选用国产数据库产品,而人大金仓、武汉达梦等厂商借“天时”拿下了不少订单。

但是就产品竞争力而言,当时国产数据库与 Oracle 的差距仍然巨大。 

经历了近四十年的发展,Oracle 的功能已经极为丰富,支持的语句非常全面,其代码量到了普通公司难以望其项背的地步。

国产数据库公司想要模仿并超越,注定是一条难以看到尽头的道路。 

好在技术的发展并不是一条笔直的赛道。尤其数据库的发展,涉及着整个IT基础设施及上层应用等复杂连带领域的影响,因此国产数据库公司弯道超车的机会,以一个意想不到的方式出现了。

2009 年,阿里的 Oracle RAC 集群节点数达到了创记录的 20 个。数据量和数据并发达到了全国最高,让阿里不堪重负。

为了让数据库不容易崩溃,阿里的工程师们采用冷热隔离的方式来解决“超大容量”和“高并发”的难题。但由于 Oracle 并没有弹性扩展的功能,只能按照峰值流量购买需要的小型机和数据库,这导致阿里还来不及为业务上涨庆祝,就得先支付来自 Oracle 的天价账单。 

2010 年,阿里开始去 IOE。阿里数据库工程师们根据开源 MySQL 搭建了 AliSQL,此后花了两年时间,他们将淘宝及天猫的所有数据库从 Oracle 替换成了AliSQL。

2012 年双 11,AliSQL 迎来大考。  

那一年,淘宝创造了 191 亿的成交额,这意味着数据库里的一条热点记录每秒钟最多要被修改十几万次。零点过后,淘宝出现了半分钟的卡顿,所有阿里数据库工程师们都直冒冷汗。好在半分钟后,AliSQL 承受住了数据洪流的冲击。

但甲骨文并不知道阿里已经放弃了 Oracle。2013 年双 11 过后,他们还要求阿里根据此前公布的 350 亿成交总额,补交 Oracle 数据库的服务费。

那是一份数字非常惊人的账单,但摆脱了 Oracle 的阿里,已不再受此胁迫。

AliSQL 的成功证明 Oracle 的金身并非牢不可破。 

使用 AliSQL,阿里应对了几年双十一购物节。但是面对屡创纪录的流量,AliSQL数据库很快就接近能力极限。

双十一已经成为世界上独一无二的挑战,使用市面上的任何数据库已经无法承接这像太平洋一样翻涌而来的流量。

问题只能自己来解决了。

2015 年阿里云决定研发自己的数据库。这一次,阿里云并没有沿着以往国产数据库的路径,去模仿 Oracle,而是另辟赛道,研发基于云的数据库产品。 

值得注意的是,在 Oracle 的大本营美国,数据库行业也已经酝酿出了新风暴。

2015 年的 AWS Invent 大会上,亚马逊公布了基于云计算的自研数据库 Amazon Aurora。Aurora 是一个关系型数据库,可以跨 3 个可用区域复制6份数据,其最大的特性就是高性能和高可用性。 

全球的云计算巨头公司在这一刻想法达成了一致,打算在云上,发起一次数据库领域的新革命。

一个时代的落幕往往是从第一个变革者出现开始,中间虽然会经历革新者和守擂者的交锋,但最终谁也无法阻挡潮水的方向,云计算带来的数据库变革就是这样一股不可逆转的浪潮。 

5

面对云计算厂商开辟的数据库新赛道,埃里森眼里全是蔑视。他说,没有厂商可以摆脱 Oracle。 

2008 年,他还对云计算不以为然,在访谈中称:

“我完全搞不懂那帮家伙在说些什么,简直就是一派胡扯,云计算只是愚蠢的概念”。

但事实给了他一记有力的耳光。

亚马逊发布 Aurora,靠着高性能和高可用性、低成本吸引了众多客户上云。高傲的埃里森再也坐不住了。2016 年,他宣布向云计算进发,“我们到了本地计算向大数据云计算转型的关键路口。”

《IT 不再重要》的作者尼古拉斯·卡尔认为,过去半个世纪里,大批企业为实现信息技术搭建数据中心,花费掉了几十万亿美元,而最终的受益者就是微软、甲骨文这些 IT 公司。但云计算的出现将改变这一切,未来大量的企业将不需要建设自己的机房,也不需要从传统的软件厂商那里购买大批昂贵的软件,只要将自己的业务搬到云上,就可以节省出大量的成本用于发展创新。 

在 Aurora 倒逼 Oracle 上云的同时,阿里云的云原生数据库也在极速狂奔。这一次,我们并没有被国外的同行落下太多。

2017 年阿里发布了 PolarDB 1.0 后,其性能让行业为之兴奋。经典数据库 10TB 的业务数据创建只读副本需要 70 个小时,但在 PolarDB 上只需 2 分多钟,而成本却只有商用数据库的十分之一。 

2017 年 10 月,犹他大学计算机系终身教授,世界数据库领域的顶级大咖李飞飞加入阿里云数据库团队。 

李飞飞

加入阿里后,他提出了未来 PolarDB 的三个方向:更智能、更安全、让新的云原生和分布式数据库架构成为可能。 

俯瞰新的战局,我们发现如果在经典数据库的竞争中,国产数据库始终跟在甲骨文等公司后狂奔。

到云计算时代,国内厂商已经拥有了不亚于海外公司的丰富生态,仅阿里生态内,就有了 PolarDB、OceanBase、ADB、NoSQL、图数据库、时序时空数据库等产品。

2018 年,在全球权威的 Gartner 数据库魔力象限评选中,阿里云成为国内首个入选的科技公司,这是中国数据库公司第一次跟国外科技巨头在一个舞台上竞技。2019 年,阿里云再次以唯一中国厂商的身份入选这个权威评选。

《创新者的窘境》一书曾表达过这样的意思,越是旧时代成功的企业,在新时代面临的挑战就越多。在云数据库时代,甲骨文公司就面临这样的窘境。相反,亚马逊 AWS、阿里云这样的云厂商却可以乘风飞扬,攻城掠地。 

6

Oracle 的阵地正在被云数据库厂商蚕食,在它占据绝对统治地位的金融领域,也开始受到挑战。 

这次挑战它的是支付宝,不像淘宝可以当机立断作出向开源数据库迁移的决定。已经有 3 亿用户,一年有几十亿笔交易的支付宝直到 2013 年才敢把流水库的 1% 交给当时的自研分布式数据库 OceanBase 尝试。

但在那一年的双十一,Oracle 的上限只能满足支付宝流量的 90%, OceanBase 必须要承担 10%。为了通过这次考验,OceanBase 的技术负责人阳振坤直接向时任支付宝 CEO 彭蕾立下了军令状。 

阳振坤

结果 OceanBase 经受住了考验。

2019 年 8 月,OceanBase 第一次向 TPC-C 测试发起冲击(TPC 的全称是“国际事务处理性能委员会”),它是国际权威的数据库性能测试中心,而 TPC-C 是针对在线交易数据库的性能测试,一直被视为衡量交易型数据库的重要指标。此前第一的位置始终由 Oracle 垄断,但 OceanBase 以 2 倍的速度踢馆了这位霸主。半年后,更是以 11 倍的速度刷新了自己的记录,让 Oracle 降至第三名。 

在 PolarDB 和 OceanBase 连番冲击下,甲骨文光环不再。

2019 年 5 月,甲骨文宣布中国区裁员 500 多人,行业震动。

虽然甲骨文对外声称这是出于成本考虑作出的举动。但实质上,自 2013 年阿里宣布完成去 IOE 后,国内众多公司都掀起替换 Oracle 的浪潮,甲骨文在中国的市场的垄断地位摇摇欲坠。

云计算厂商或许会成为压垮传统商用数据库的最后一根稻草。

亚马逊 AWS 的 CTO Werner Vogels 曾多次强调:

“数据库是云计算的终极之战。”

而 Gartner 预测,到了 2021 年,云数据库在整个数据库市场中的占比将首次达到 50%,而到了 2023 年,75% 的数据库都要跑在云平台之上。 

2019 年双 11 的交易中,PolarDB 数据库处理交易事件的峰值更是达到了 8700 万次/秒,此时靠着战胜了无数次数据洪流的冲击,PolarDB 已经不再需要向任何人证明自己的实力,而是在 2013 年就将自家的数据库的数据统计和分析将能力赋能到其他合作伙伴,帮助几十万企业从传统数据库迁移至云上的数据库。

据德意志银行分析报告,中国现在有 84% 的企业有意愿要上云,认为云是未来。这股浪潮中亚马逊和阿里云成为了新的领头企业,而甲骨文的云业务却迟迟未能在中国落地,错失了最佳的发展时机。

以开源、分布式和云计算为主导的新数据库时代已然到来,而在新的“世界大战”前,国产数据库已经具有了充足的底气。 

新成立的 OceanBase 公司——北京奥星贝斯科技已经向业界放言将在未来三年内服务全球超过万家企业客户,PolarDB 负责人李飞飞也对外公布了 2020 年的小目标:

“今年要帮助 1000 家企业去 O,10000 套传统数据仓库上云”。

数据库自研的四十年历史倏忽而过,发令枪再次打响,后浪接过前浪的接力棒。而这一次,绝不会少了中国公司的身影。 



最新评论


返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。