迎接即将到来的“脱钩”,国产软件的战略准备:数据库篇(上)

此文是旧文重发,原来发的不知什么原因龙驭上宾了,试试看这次有没有问题。分为上下两篇,这是上篇。


  2020年2月,当全体中国人听从号令宅在家里,举国一致对抗“新冠”疫情的时候,美国又对中国的高科技产业下手了:

  1. 美国考虑将受其管制的美国技术含量25%的标准下调为10%,台积电10nm的代工恐将受影响。美国继续加大对华为追杀,并没有因为中美第一阶段协议达成而收手。

  2. 美国纠集42个加入《瓦森纳协定》的国家将具有武器级芯片零件的软件和制造技术添加到受出口管制的国际物品清单中。虽然明面上针对朝鲜和军用,但实际目标是什么,你品你仔细品。

  3. 媒体报道美国政府考虑阻止通用电气继续为中国商飞C919客机提供发动机,原因是担心中方可能会对发动机逆向仿制。虽然后来特朗普亲自表明支持继续供货,但让中国大飞机人瞬间清醒“上楼以后真有可能梯子被抽走”。

  如果再结合1月放出的“特朗普政府阻止荷兰向中国出售光刻机”消息,美国对中国高科技产业的绞杀战发起了一波接一波的攻击。若不是后来美国自身疫情暴发,股市接连熔断,担心再对中国出招会打击自身市场信心,美国绝不会停手。

  2月24日,华为在巴塞罗那举行终端产品与战略线上发布会,推出了备受瞩目的折叠屏手机升级款Mate Xs。这场发布会另一个关注点是确认了没有之前各种所谓“好消息”出现,华为手机依然不能获准安装GMS(Google Mobile Service,谷歌移动服务),华为正式推出HMS(Huawei Mobile Service,华为移动服务)作为代替。为了最大限度提升华为HMS影响力以及生态建设步伐,华为特意成立了全面负责HMS生态建设的二级部门——全球生态发展部。同时华为还宣布将启动10亿美元耀星计划,吸引更多开发者加入到华为HMS生态系统中给用户带来更多的app。3月26日在巴黎全球首发的华为P40旗舰系列新机也搭载华为HMS服务。而实际上从2019年5月16日以后,华为未向Google提交注册的新机均无法再预装GMS。HMS的推出,标志着华为手机与Google安卓系统所打造的主流生态开始“脱钩”。

  在科技战场上,美国的战略目标非常明确,就是要对中国的高科技领头企业釜底抽薪,不准再与他们在相同的科技基础上竞争发展——同台竞技,不存在的,给你踢下台去。简而言之,就是逼迫中国高科技产业与美国“脱钩”。

  “脱钩”即将到来,中国高科技产业能否相抗?是否有取胜机会?这一两年关于中国高科技产业战略准备的文章已经很多,它们覆盖了许多方面,但相较而言对于赋予高科技产品“灵魂”的软件却较少涉及。作为一个软件行业曾经的从业者,我对了解到的软件行业的战略准备与读者们做一个系列分享,这是第一篇,讲国产数据库软件的发展情况。

数据库是什么?

  在基础软件中,数据库和操作系统一样都属于应用最广泛的技术。简单而言,数据库就是用于集中存储数据的软件,通过它对数据进行查询、计算、统计等操作。各种互联网应用,都离不开数据库产品的支撑。我们打开淘宝浏览商品信息、查看天气预报、叫外卖打车……背后都是数据库在运算并将数据进行反馈。金融行业更是数据库的大客户,数十亿个银行账户,存、贷、汇业务的余额、每一笔变动,都需要有稳定、安全的数据库产品支撑,否则会出大问题。而国计民生的方方面面,包括飞船上天、高铁运行、通信传输、能源保障……只要与数据相关的行业与行为无时无刻都离不开数据库的强大支持。

  由此可见数据库是一个核心的基础科技产品,如果被国外技术卡住脖子,可以想象将会何等被动。然而现实是国外数据库产品牢牢占据中国数据库市场绝大多数份额。数据显示,2015年中国数据库市场,Oracle份额为56%,远超排在第二的IBM15.9%,微软份额第三为9.5%,SAP以8.5%排第四。这四大数据库巨头合计市场份额为89.9%!

  以上四家外企(前三家为美企,SAP是德企)中的Oracle该年在全球数据库市场的份额是43.9%,在中国的份额整整高出12%。而Oracle的老板拉里·埃里森(Larry Ellison)在2018年10月26日接受福克斯商业台访谈时发表的言论是:“中国是美国自上世纪30年代以来的首个严峻对手,不能让中国培养出比美国还多的工程师。如果让中国的科技公司打败我们的科技公司,不久之后,我们的军事也会落后于中国,我们的经济也是如此。我们与中国存在激烈的竞争,我站美国队,希望我们能够获胜,我们可不想屈居第二。”

  同时他还指责中国“盗用我们的知识产权为他们(中国)带来了巨大的优势”,虽然补充了一句话“我的意思是他们可以在我们知识产权的基础上创造属于他们自己的知识产权。”

  而在2019年5月,Oracle中国区宣布裁员1600人,中国区研发人员全部裁撤,Oracle中国区从此只是一个销售与支持机构。埃里森是否真在实施其“不能让中国培养出比美国还多的工程师”的主张?

国产数据库发展历程

  最早计算机发明之时,只有数据而没有库的概念,数据和程序混在一起。到了20世纪50年代,随着操作系统的出现,新的数据处理系统迅猛发展起来,诞生了专门管理数据的系统,不过那时只是一种存储离散数据的文件系统。真正意义上的数据库系统始于60年代,其中最成功的是SABRE,它是IBM用来帮助美国航空公司管理其预订数据的。1964年,美国系统发展公司(System Development Corporation,SDC。1959年由著名军工机构兰德公司建立,是美国第一家成规模的纯软件公司)首先使用“DataBase”(即“数据库”)描述当时为美国海军基地研制的数据系统。1974年至1977年间出现了两个主要的关系型数据库系统原型,它们分别是UBC(University of British Columbia,不列颠哥伦比亚大学,位于加拿大温哥华)开发的Ingres和IBM创建的System R。受这两个数据库产品技术成果的启发,涌现出IBM的DB2、Oracle、Sybase(2010年被SAP收购)与微软的SQL Server,这四大巨头今天依然雄霸全球数据库市场。

  而直到1979年Oracle 2(实际是第一版,但埃里森为了好卖软件坚持叫第二版)开始商业化时,我国才开始数据库理论研究。在人才、技术、资金都缺乏的条件下,我国采用了两条腿走路的方式:

  第一条腿,直接引进国外先进数据库。1989年引进Oracle,1991年引进Sybase,1992年引进了IBM的DB2和Informix,同年微软在北京设代表处……

  第二条腿,从上世纪90年代开始,以大学和科研机构为主参照国外技术开发。其中代表为:华中理工冯玉才教授自主研发的达梦(DM),人民大学王珊教授研发的人大金仓(Kingbase),南开大学的南大通用(GBase)以及神舟集团和南大通用合作开发的神舟通用(OSCAR)。

  说到核心科技产品的国产化,有一个人必须要提到,他就是倪光南院士。在1999年结束不算太愉快的合作后,倪院士带着他的梦想离开了联想。1983年从加拿大国家研究院回国以来,倪光南执着的梦想就是要发展中国的计算机核心技术。1939年出生的他,在自己60岁这一年,终于可以把全部的精力投入到实现梦想的行动之中。他主张要建立“自主可控”完整的计算机软硬件产业体系,通过国家计划给予扶持,并且在政府采购中倾向国产软硬件进行产业引导。从那一年开始,这位老人一直积极地在政府、企业之间奔走呼吁。

  经过政府、专家、企业的共同努力,国产数据库企业于2006年迎来重大利好消息。国务院发布《国家中长期科学和技术发展规划纲要(2006-2020年)》,明确提出实施“核高基”重大专项。核高基就是“核心电子器件、高端通用芯片及基础软件产品”的简称,是与载人航天、探月工程并列的16个重大科技专项之一。其中基础软件包含操作系统、数据库和中间件。该专项持续至2020年,中央财政为此安排预算328亿元,加上地方财政以及其它配套资金,预计总投入超过1000亿元。

  然而在专项实施10年之后,国产数据库软件在中国数据库市场占有率为多少呢?2016年我国国内主要数据库企业南大通用销售收入为2.35亿元,占同期国内数据库市场规模总量的2.3%;爱可生销售收入为0.76亿元,占比为0.8%;人大金仓销售收入在0.65亿元左右,占比为0.7%;山东瀚高销售收入为0.58亿元,市场份额为0.6%。

  国产数据库发展如此缓慢,是什么原因造成的呢?这个原因在倪光南院士一位曾经的助手的复盘中可以发现踪迹,虽然这个经验只是关于国产CPU与操作系统的:

  “第一棒是核心元器件。第二棒是无数小的Design house围绕Intel做公板、做产品创意、做产品原型、做差异化做优化。”

  “搞不定的依然是操作系统。差距大的依然是生态。当年,绕得过Intel,跨不过微软。如今,绕得过Arm,做不出安卓。安卓有三:

  1. 不断迭代优化的安卓系统本身

  2. 现在大家已经非常习惯的基于安卓的各种应用:微信、商务、游戏、生活、娱乐……

  3. 全球无数团队,基于安卓在源源不断地创意,开发新的应用,不断繁荣、优化这个生态。”

  根本原因在于“生态”!一个成功的产品,无论是硬件还是软件,会带动一大批相关的公司与人才。他们在这个产品的基础上持续投入时间、智力与资金,并由此获得各种利益。所谓生态,在地面之上的产品是一棵树,而在地面之下的各种机构与人是发达的根系。树冠吸收二氧化碳生成躯干推进根系深扎土壤,根系汲取水与养分助力树冠发展,相互成就一损俱损、一荣俱荣。

  围绕头部的数据库产品,同样形成了强大的生态系统。数据库是专业化程度很高的系统,其使用、部署、开发、运维都需要专业人员负责。数据库公司除了自己提供相应支持与服务,还通过教育培训输出这种能力。从Oracle为例,按照披露的2009年报,其收入来源分为软件与服务,比例为81:19。而服务包括咨询、定制与教育,分别占收入的14%、3%和2%。看起来教育的收入占比不高(绝对值也有4.6亿美元),但Oracle对它的定位却非常明确。在年报中是这么说的:“The purpose of our education services is to further the adoption and usage of our software products by our customers and to create opportunities to grow our software revenues. ”(我们的教育服务的目的是为了让顾客更进一步采购与使用我们的软件产品,并且创造出增加我们软件收入的机会。)Oracle的教育培训打造了完整的认证体系,如果通过它的三级认证即可成为全球承认的熟练掌握Oracle技术的IT专家。分为三个不同的层次:OCA(Oracle Certified Associate,甲骨文认证伙伴)、OCP(Oracle Certified Professional,甲骨文认证专家)和OCM(Oracle Certified Master,甲骨文认证大师)。

  拿到这3种认证的技术人员成为了信息化领域的热门人才可以拿到高额薪水。同时因为Oracle数据库的广泛使用,越来越多的应用基于它进行开发,越来越多的咨询、代理、维护机构为它服务从中获利。

  而Oracle这家公司除了拥有强大的数据库产品,在经营上也以狠厉著称。它在数据库相关的应用软件领域积极攻略:在每个相关领域都推出自家产品主动进攻,如果自家产品不行就大举收购,力图消灭视野中的一切竞争对手。

  2004年12月,以103亿美元收购当时全球最大的HR软件商Pepolesoft(仁科,1987年创立的美国老牌软件企业),拉开了Oracle大额收购的序幕。

  2005年9月,以58亿美元收购全球最大的CRM供应商Siebel(由从Oracle离职的Thomas M. Siebel在1993年创立)。

  2007年3月,以33亿美元收购绩效管理软件供应商Hyperion(当时EPM市场份额最高),强化与SAP在ERP领域的竞争实力。

  2008年1月,以85亿美元收购中间件供应商BEA(著名的Java中间件软件公司,由美籍华人庄思浩与同事于1995年共同成立,其中间件市场份额一度比IBM还要高),强化与IBM在中间件领域竞争实力。

  ……

  经过这一系列收购,面向大型公司的数据库应用场景已经遍布Oracle的应用软件产品。Oracle这样的数据库行业巨头,它的产品形成的生态体系已经不仅仅是一棵大树,而是整整一座遮天蔽日的森林,客户能避开它的数据库也避不开使用该数据库的应用软件。更何况它还用利益链条捆绑了众多外围机构与人才,协助这个生态不断生长、延展。

  很显然,核心基础软件自主可控的顶层设计者们已经注意到了其中的利益关系,对策也是从利益入手:对国产同类产品的种子们,以政府引导基金为雨露促萌发、以政府采购的倾斜为阳光引成长。但实际上,这样长出的数据库产品的幼苗在参天大树组成的森林里要茁壮成长,难度实在太高!可能童鞋会问,“核高基”这样的专项基金投入也不少了,为什么?难道是……?其实掰着指头算算:在“核高基”中,软件只是其中的“基”;而在“基”中数据库只是其中一项;能拿到基金的钱的数据库企业不只一家,而且这要被细分的1000亿还是以15年的时间跨度来给,僧多粥少每一家每一年又能拿到多少呢?而Oracle一场收购花费的资金起步就是几十亿美元!仅2009年一年它在研发上的投入也有28亿美元。起步晚、积累少、拼钱也拼不过,要想在数据库市场中杀出来,太难!

  那为什么不狠下决心起码在政府采购中完全排除国外产品,为国产产品弄一块自留地呢?毕竟美国都以莫须有的“国家安全”为理由禁止华为在美国全境(不是只于政府采购)销售,而且在国际上也威逼利诱各国禁用华为。跟美国一样决绝,他做初一我做十五,这个不是做不到,而是非当前局势的上策!至于原因我们放在后面再说。

  似乎国产数据库软件的发展走入了死局:钱花了,时间也过了这么久,事没办成也看不到成的苗头。很多关心产业发展的人士免不了唉声叹气。前面提到的那位倪院士前助手的文章其实把国产自主可控系统的前景看得一片灰暗。当有人问倪院士的看法时,老人家只是微微一笑:还是太年轻,账不是这么算的……

事情正在起变化

  时间转眼来到2019年,这一年的头等大事是建国70周年,在观看了盛大的阅兵式兴致勃勃地讨论过各种尖兵利器之后,第二天传来了一个关于数据库的好消息:权威机构TPC官网披露,中国蚂蚁金服自主研发的金融级分布式关系数据库OceanBase,在TPC-C基准测试中,打破了由美国公司甲骨文Oracle保持了9年世界纪录,成为首个登顶该榜单的中国数据库产品。

  听到这个消息的人们先是感到振奋,再是奇怪:这么长时间没什么动静,怎么突然之间放了个卫星?仔细一看还能发现疑点:TPC是什么鬼,不会是什么山寨机构吧?TPC-C测试又是什么鬼,不会是那种给钱就能过的吧?之前的纪录9年都没有刷新,不会是拿个过时标准来忽悠外行吧?这还真是冤枉了。TPC,即国际事务性能委员会是数十家会员公司(Intel、AMD、微软、Oracle、IBM、华为、阿里巴巴、HP、联想、DELL都是其会员)创建的非盈利组织。TPC-C测试规范由TPC在1992年7月发布,是关于商品销售的订单创建和订单支付等的基准测试标准,是数据库联机交易处理系统(OLTP)的权威基准测试标准。几乎所有在OLTP市场提供软硬件平台的厂商都发布了相应的TPC-C测试结果,供客户作为产品选型的重要依据。

  至于为什么这个榜首9年没有变过,那是因为TPC-C测试的要求非常严格,如果只为了对产品心里有数自己测一下也还罢了。一旦要把结果登记到TPC的榜单上,TPC会派出专家团队现场监督测试,整个周期持续长达半年以上,花费自是不菲。而Oracle在2010年测试得到3000多万的结果实在过于彪悍,其它厂商测不过,Oracle也就没动力进一步刷新。Oracle最新的测试结果是 2013年3月份做的,在榜单的第四名,那是为了推广自家的SPARC处理器(是的,Oracle有自己的硬件。它于2010年1月完成了对Sun公司的收购,获得了硬件产品能力)。不排除Oracle的新产品能再次登顶,但这次Oceanbase对Oracle原有记录翻倍的超越,还是有力证明国产数据库产品已经跻身世界一流的行列了。

  要知道对于国产核心软件,之前最乐观的估计、最卖力的吆喝也是说国产同类产品性能相当、差距不超过X年、关键时候顶得上、保证不被卡脖子、备胎随时可以转正……突然之间来一个性能超出这么多的,还真是让人不太适应。

  这背后到底发生了什么?

  这一切要从那一年的那个节说起。

  2014年淘宝的双十一购物节已经进入了第5个年头。双十一已经成为一个新民俗,成了全国人民都盼望的日子。这个生造的节日所创造的销售奇迹和年年刷新的纪录,更是让公司上下都神采飞扬、乐不可支。但是在一片欢乐祥和的气氛中却有一些显得不合群的人,他们就是公司的数据库支持团队。在2013年的双十一,数据库的运行又一次到了崩溃的边缘。“下一次绝不能再出现这样的情况!”上头已经下达了死命令。虽然这种死命令每次双十一之后都会下达,客观原因都是流量远远超出预期才出现的逼近崩溃。但以前团队都能咬咬牙接下来,这次却是心里真没有底,因为Oracle数据库已经没有可以挖掘的潜力了。2013年双十一,支付宝的备战室里多出来一幅关公的挂画,一群技术男对着关老爷顶礼膜拜,祈求数据库别崩。2013年险险过了,2014年能靠谁?这年又是移动互联网大爆发的年份,指数增长的移动支付比例势必带来比往年更汹涌的流量峰值。团队根据压力测试得出结果,用尽各种招数Oracle总有10%的流量无法支撑。这肯定是要崩啊!怎么办?

  很快,上面就决定,说是公司有一个自研的数据库叫Oceanbase的,开发好了一直没地用,就让它来接这10%!一个自研数据库从来没有挑过大梁,怎么就要在双十一担负这么重要的角色呢?但是他们说已经决定了,数据库团队的人只好念了两句诗:枸……杞……

  这时距离2014年的双十一,时间已经不足两周。但是经过紧张的调整,解决了一些小毛病以后,初次上阵的Oceanbase竟然经受住瞬时巨大流量的狂轰滥炸拿出了漂亮的战绩。2014年的双十一也成了一个转折点,数据库团队再也不用阿里爸爸担心他们的学习了!

  之后,食髓知味的公司高层越来越大胆地把数据库的重任移交给Oceanbase。2014年双十一,OceanBase仅处理10%的交易数据链;2015年双十一,OceanBase处理100%交易数据链和50%支付数据链;2016年双十一,全部交易数据链和支付数据链以及30%花呗账务运行在OceanBase上;2017年双十一,包括整个账务库在内的全部核心系统都100%运行在OceanBase上。也是从这一次开始,双十一已经不再使用Oracle数据库,实现了完全的“去O”。

  当然这个故事里的公司高层并不是只会拍脑袋的莽汉,做出这个决定的原因是在计算机行业发生了一次重要的技术革命——云计算。云计算是什么呢?简单来说,原来的计算机分成个人计算机(PC)与服务器,个人计算机嘛就是一台计算机一个人用,而服务器则是一台计算机通过网络连接供多人使用。像我们访问网页,使用微信和各种需要联网的APP,其背后都是访问服务器上的特定服务。随着访问服务的用户越来越多,原有那台服务器不堪重负,这时的解决办法可以是换成内存更大、运算更快的服务器。但单台机器总有性能上限而且费用上升也相当可怕,这时就有新的解决办法:把多台服务器组织起来,并用专门的软件来进行管理,平衡各台机器负载的同时让外部访问者看起来访问的只是一台机器。这后一种解决办法发展的极致就是云计算,它是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。按照云计算描绘的图景,各家服务商在使用该技术之后将不用再担心计算机资源不够的问题,可以根据需要随时扩展。这项技术对于患有“计算资源不足恐惧症”的阿里巴巴来说简直就是天赐福音。


未完,请看下篇。

文章转载自微信公众号:跟陶叔学编程

类似文章