从今年8月开始,国内的大公司扎堆在操作系统、数据库这些基础设施领域发力,不仅号称做出了成品,还都是世界顶级的——「两三年内媲美苹果」的华为鸿蒙,性能超过第二名 Oracle 9 倍的阿里 OceanBase 数据库,吊打 MySQL 的 GaussDB 数据库等等。
作为一个码农,看到人类(无论哪国)在软件工程上有巨大的进步、以及后来者挑战行业霸主,都是一件令人高兴的事情。
但 IT 行业的科研有个特点,越是向下的基础设施研究,越需要经年累月、耗资巨大、烧掉无数个天才的大脑才可功成。
我们每天都用到的如CPU芯片、数据库、操作系统等等,看似稀松平常,却凝聚了这个世界上最聪明的一批人的智慧。
但如果有些「成就」出自「嘴强王者」,广告打出去了,却拿不出与之匹配的工程作品,那这种 IT「大跃进」则不仅毫无意义,还会把曾经遗祸中国、害人无数的「亩产万斤」浮夸风,刮到素来踏实务实的软件工程领域。
「性能超过 Oracle 两倍」的阿里 OceanBase 数据库
今年国庆期间,蚂蚁金服官方宣布:在最新发布的 TPC-C 排行榜中,蚂蚁金服自研数据库 OceanBase 位列第一。喜大普奔!
然而注意,第一行「白底黑字」是 OceanBase 没错,为什么从第二行开始,这表格就变成了「灰底黑字」呢?
请看上图官方说明。翻译过来,就是「白底的是即时有效的测试成绩,灰底的是历史成绩,现在已经不算数啦」。
而仔细看看被 OceanBase 在性能上反超 2 倍的 Oracle 的测试成绩提交时间——2010年12月2日……
Oracle 的测试成绩,是 9 年前的结果,而且已经失效了!
我们再来看这前两名的 CPU 使用情况。OceanBase 用了 420 个处理器,共 6720 个核心;Oracle 用了108个处理器,共 1728 个核心。也就是说,OceanBase 用了近 4 倍的核心数,提高了 2 倍的性能……这还是建立在,Oracle 用的是 2010 年的老古董 CPU 基础上。
各位还记得自己 9 年前用的什么电脑、玩的什么游戏吗?不记得的话,提醒一下,你现在拿着的手机,性能就能秒杀 9 年前的家用台式机。9年之间,硬件发展天翻地覆,现在的 CPU 与 9 年前的 CPU 相比,强了多少呢?
拿成倍堆砌的硬件,才使性能达到了 9 年前 Oracle 的两倍,无论如何听起来都不算是自己吹的那般「碾压式的」优势吧?
数据库是硬科学,绝不是一朝一夕就能赶上的,有这样的成绩已经殊为不易。但如我上文所说,如果在宣传时,「刻意」掩盖了部分事实,给他人留下某些不太符合事实的印象,那就成了「浮夸」「放卫星」了。
基于 PostgreSQL「自主研发」内核的 GaussDB 数据库
2019年5月,华为发布了 GaussDB,号称使用了自主研发的「轩辕内核」,性能超越 MySQL 和 PostgreSQL。
然而,实际上 GaussDB 是基于 PostgreSQL 9.2 开发的,而 PostgreSQL 则是一个 1996 年就发布了的老牌开源数据库。
华为所谓「轩辕内核」,大概率只是管理、维护数据库的组件,而非数据库的真正内核(因为内核是 PostgreSQL)。
如同国内各种「自主研发」的操作系统,其实质无非是经过各种裁剪的 Linux 一样。如果 Linux 不开源,这些操作系统还能「自主研发」出来吗?还是像当年的「汉芯」一样、把国外厂商的商标打磨掉就自称「自主研发」了呢?
我问一下,如果没有「开源」的 PostgreSQL,还有「自主研发」的 GaussDB 吗?
在宣传中,华为刻意模糊化了 GuassDB 的「核心」到底是什么,让很多人误以为 GaussDB 是完全从零开始自主研发,实际却只是站在了 PostgreSQL 的肩膀上,这已经走在了「大跃进」的边缘了阿。
「两三年媲美苹果」的鸿蒙操作系统
10月10日,华为官方发布了任正非在9月19日接受美国《财富》杂志采访的纪要,里面有段对话很有意思:
记者:我想问一个关于华为鸿蒙操作系统的问题。您有多大的信心在接下来两到三年内把鸿蒙打造成一个可以与苹果系统相媲美的操作系统?还是说还需要更长时间?
任正非:应该不需要两到三年。我作为领导人,说话要保守一点,不能把下面人逼得太紧,但对于他们来说,不需要这么长时间。
任正非亲自表态,鸿蒙达到「媲美」苹果系统(所谓「苹果系统」还分为 iPadOS、iOS 和 MacOS)的时间,只需两三年,而且这还是个保守说法。
操作系统是软件工程的皇冠,华为愿意去尝试突破,对整个业界来说都是福音。但是认为鸿蒙「两三年可以媲美苹果」,无论我对鸿蒙多乐观,也无法相信华为可以实现。
首先,操作系统巨大的开发量,将消耗大量工程师和大量时间。在这个庞大的工程里,各类功能开发、Bug修复、适配不同终端等等,将消耗掉所有工程师的所有时间。鸿蒙目前的开发进度尚不清楚,但以「臭媳妇还没法见公婆」的情况来看,并不乐观。
其次,操作系统需要得到开发者的认可,需要有人愿意在这套系统上开发软件。目前与鸿蒙开发者生态相关的,仅仅出现了一个开源的方舟编译器。
然而方舟编译器却有若干大问题。首先是编译器极其敷衍,代码不规范等问题尚在其次,连其自带 sample 都无法成功编译;其次是编译器代码中,强行修改了开源第三方库 zlib 的版权说明,估计是使用脚本批量改版权说明时误操作了。
方舟编译器在开源 3 分钟后被现场打脸,然后光速关闭访问权限。这样明显的赶工产品,让人不得不担心,是不是任总和华为市场部的仁兄们,把大话说的太满了呢?
最后,操作系统必须具备良好的生态。这更不可能再两三年之内达到,甚至连苹果自身都花了十余年时间才能打造出现在的苹果生态圈,华为在两三年内到底如何「媲美」苹果呢?
这个「两三年媲美苹果」的大卫星,已经被任总结结实实的放出来了。
华为、阿里这样的巨型企业,能够迈入数据库、操作系统领域,这对整个 IT 行业都是大好事。
但如果这样的「好事」依托于大张旗鼓的虚假宣传、模棱两可的市场推广,就完全变了味道,变成了「亩产万斤」的闹剧。
我对高中课本里那首大跃进时期的打油诗印象非常深刻:
「肥猪赛大象,就是鼻子短,全社杀一口,足够吃半年」
在物质匮乏的年代,这样的诗歌听起来何其过瘾!但嘴上说的好听,却拿不出实在的「猪肉」以飨众人,结局就是饿殍遍地,浮尸万里。
IT 行业的技术「大跃进」,带来的则是对整个行业的破坏,市场、舆论对这些大型企业的不信任,和企业内部研发能力的长期损害。
希望上述的「自主研发」们,能更踏实一点。
你先 Real,我们才 Respect。