编者按:本文来自微信公众号“GGV纪源资本”(ID:GGVCapital),作者:创业内幕,36氪经授权发布。
俗话说得好,三个臭皮匠顶个诸葛亮。那么问题来了,三个程序员,他们能做什么?
答案是:一个从中国走向国际的开源平台。
今天的《创业内幕》我们请到了PingCAP的联合创始人兼CTO黄东旭,一个非常会举生动例子的创业者,和他一起聊聊三个程序员的创业故事。
Lily:本期我们请到的嘉宾是全世界范围内最好的、诞生于中国的开源公司,PingCAP的联合创始人兼CTO黄东旭。今天跟我一起跟东旭对谈的,是GGV纪源资本的执行董事吴陈尧Joshua。
非常有幸我们今天请到东旭来,东旭不仅是一个非常棒的程序员、一个开源的坚定支持者,同时本身还是一个摇滚乐爱好者。这三个身份:创业者、程序员和摇滚乐爱好者,你更喜欢哪个身份?
黄东旭:
如果排序的话,排名第一位肯定是程序员,因为我确实很喜欢写代码。第二个就是创业者,创业是我现在的一个生活状态。音乐是我的一个特别好的爱好。我觉得这三件事情本质是相通的。我是一个对美很有追求的人,比如编程,我希望能把这个程序写得很漂亮;对于创业,我希望把这个公司做得很好;然后听音乐其实是为了满足我的一些审美需求。所以我觉得几个事情本质其实很相通。
Lily:
您觉得您喜欢开源软件和您做摇滚有没有什么关系?
黄东旭:
我觉得还是有一点关系的。我接触计算机的时间很早,大概在小学三年级开始学写代码,在初中开始使用开源软件,包括Linux,包括在开源社区里去跟很多人互相学习或者交流,或者贡献一些代码。正好我也是在那段时间开始听摇滚乐,去接触一些看起来更加富有精神内涵的文艺作品。我觉得有几点我非常喜欢,或者说觉得这两件事情是有共通的:
第一,其实它背后是有一点点批判性的。别人跟你说这个世界就应该是这样的,其实并不是。从另外一个角度来去看,其实它背后是有一些DIY精神在里面的。不管是摇滚乐也好,还是开源也好,都很崇尚:我想要这样,然后我动手、去使它发生;作为社区的一份子,你可以在里边表达出来你的一些东西。所以(写代码和听摇滚乐)其实对我来说都是工具,用来表达我自己的一些想法,或者说我想要去表达的观点。我当时喜欢摇滚也是因为觉得我开始弹吉他、开始弹贝斯,就可以开始搞乐队,能创造自己的音乐。
第二,写代码也是。我看到很多很漂亮程序,我不仅自己要写出来,我还要去贡献到一个更大的目标,有这样的一件事情我可以去做。我觉得这背后还是刚刚我说的有一个内核,这个内核包括自己的一些思考和一些自己的审美,然后再是往外去表达。
Lily:
特别有意思。请东旭举例子给我们介绍一下PingCAP是什么吧。
黄东旭:
我先解释PingCAP这个名字。很多人可能都不知道这个名字什么意思。CAP其实是一个CAP定理,它其实是一个分布式系统。我们这个东西还是太学术了,简单来说有点像牛顿万有引力定律,或者欧几里得那几条公理一样的东西。
所以其实从名字来看,我们这个团队就是一个做技术或者说比较geek的团队,我们在做的事情其实是数据库软件。其实数据库软件是一个很普遍的一种计算机基础软件,也很古老。基本上跟操作系统(Windows、Linux)一样老。在数据库这个领域里面,大家可能知道 Oracle甲骨文,或者说像MySQL,那为什么这件事情我们还在做?或者说在这个时代PingCAP还能做得算可以?
其实是因为正好赶上了一个大的时代背景,现在海量的数据,特别是移动互联网的爆发,让我们对数据的存储和服务的要求变得越来越高。
所以大家想象一下,过去像这样的数据库可能都是单机的架构,比如说你的个人电脑或者一台服务器,这个磁盘可能就是500G或者一个T。想象一下,如果这个数据量超过了容量以后,该怎么办?其实我们就相当于是设计了一些新的技术,能够让成千上万台服务器组成一个巨大的计算机,这个计算机对外提供数据库的服务,但大家用起来还像一个单机,我们做的就是这样一个应用性的技术。
对一些非技术背景的同学,我可以用一个现实生活中的小例子跟大家解释一下:你可以认为数据库是一种容器,它就像一个马克杯一样。数据就是你往里面倒的水。传统的数据库,这个杯子是固定的:你往里面倒水,倒满了它就溢出来了,这些水就浪费掉,或者说就装不下了。但是我们设计了一种技术,相当于让这个杯子自己慢慢地变大,无论你倒多少水,它都能够接得下。相当于可以自动魔法变大的一个马克杯。我们做出了这样的一个产品,正好非常适合现在的大数据或者海量数据的挑战。
所以更简单一句话解释,就是我们希望去把存储数据、使用数据这件事情变得像呼吸一样自然。对于程序员或者开发者来说,我们在整个产业链里边是做基础软件的。打个不太恰当的比方,我们平时用的APP、去的网站,就像这个世界的高楼大厦一样,我们其实是底下修水管的这一波人。我们其实是为整个 IT世界打地基、修水管的。这个是我觉得比较准确的一个定义。
Lily:
特别好的解释。我想问问在PingCAP出现之前,如果一个服务器它的容量不够了,一个数据库容量不够了,我们的解决方案是什么呢?
黄东旭:
在过去这些都是要人肉去做分片。举个例子:比如说存储不够了。一个业务,它可能里边有北京的数据,放在北京的数据库里;上海的数据放在上海的数据库里;广州的数据放在广州数据库里。这个可能能解决一部分问题。但是突然有一天老板说我想看看在北京买过东西、同时又在上海做过消费的人有多少?这时候程序员就很痛苦,因为这个数据事实上是存在两个不同的杯子里。
所以你不能说一边去看这边,再一边去看那边。所以对业务层造成了很多的不方便,这也是我们解决这个问题的一个初衷。所以过去你可以认为这个都是靠人肉做划分的,所以还挺痛苦的。虽然在业务层可能感觉不到,但是后面都是一个个像我们这样的程序员辛辛苦苦地去做各种的walk around,去绕开这些问题。
Lily:
其实我能想象现实情况,这个困难已经是大家很早就发现了的。对于像美国的一些在基础设施和软件上更先进的一些巨头,比如说AWS、微软,他们之前有做过什么类似的这种像PingCAP在做的事吗?
黄东旭:
PingCAP在做的事情,是一个时代的必然的产物。我举个例子,大家肯定都有这样的想法,特别是在2000年前后,大家看到数据量已经开始慢慢地膨胀起来了,但是没有办法做出像PingCAP一样的产品。(这)是因为有很多基础设施还不成熟,比如说硬件、磁盘以及高速的网络。像这些基础的东西还没搭建,所以大家可能就没有办法去做这一块。
大概在15年的时候,我们发现特别是像SSD这种固态硬盘,比如说数据中心内的这种万兆的高速网络这些硬件的条件已经基本成熟了。同时分布式系统的一些基础的理论,也是在大概14年前后一个个补全了。最后我们发现万事俱备可以去做了。我们应该就是全世界第一批去按照这个模型去做的团队。所以不是大家不想做,而是有很多事情其实是经济基础决定上层建筑。就是底层的基础还没到,想做也没法做;但是一旦到了,我们其实是第一波去做的。所以在这件事情上,说实话,我们前面几乎是无人区,所以回想一下,我们当时去创业还是挺勇敢的。
Lily:
其实是开创了一个行业的先河和标准是吧?
黄东旭:
对,我觉得可以这么说。
Lily:
现在听起来其实PingCAP走到今天就是一个天时地利人和,技术人才,包括基础设施都已经到位了的一个结果,特别有意思。我们就往回说,其实PingCAP2015年创业的时候,当时你们几位也都在家办工。我想问问三个创始人,你们在当时发现了什么样的机会和机遇让你们觉得应该去创业了,然后选择这样一个赛道的方向?另外就是豌豆荚的经历对你们三个人有没有什么帮助?
黄东旭:
其实豌豆荚代表的是一类高速增长的互联网公司。我觉得像这十几年中国整个互联网行业大的背景就是高速增长。我们是代表着一群人——每一个这种高速增长的互联网公司都有的技术架构工程师,负责给这些高速增长的正在飞的飞机换“引擎”。所以当时我们对自己的痛点感到非常痛。高速增长有什么特点?就是数据量业务量不停地在增长,每三个月就翻番,你的数据库几乎都处在过载的状态,整天都要扩容。
所以刚才我说过的,其实扩容这个过程是很痛苦的,都是靠人肉。飞机在一边飞,(程序员)一边还要去把“引擎”拆下来,换个更大的“引擎”上去,一般都是大半夜。所以当时我发现去维护数据库是一个很大的痛点。我们其实并不是看到了这个事情有多么挣钱。其实后来发现这件事情其实挺难的,在中国也不算挣钱的一个生意。但是这个事情我们确实很痛,我们的初心就是想要去做一个新的“引擎”, 一个数据库,能够在业务增长、数据量增长的情况下让我们这些程序员多睡几个好觉、能多看看书。其实很朴素,(我们)就是想去做这件事。
但做这件事情我们有一个认知:绝对不能按照老路去做。
举个例子,就像你造电动车,你在一个汽油车的架构上永远造不出一个特斯拉。所以你要面向一个新时代去设计新时代的数据库,你绝对不能在一个已有的单机Oracle或者MySQL这种架构上去改、去做。但是当时正好大多数的技术方案都是在混合动力这种方向去做,我们当时是觉得这条路可能走不通,因为事实上我们在豌豆荚内部就在做着一个这种混合动力的“引擎”,但做着就发现在浪费生命,这个东西没有解决本质问题。
正好当时又看到了Google的几篇论文。其实我觉得Google对我们的启发还挺大的。倒不是说这个东西告诉你怎么做,它就告诉你:特斯拉造出来了,特斯拉这个体验就是这样,他甚至不用告诉你这个车怎么做的。
对我来说,只要这事能做,对我的启发就很大。
后来我们决定那就出来做,所以我觉得一是痛点出发。第二个我觉得在豌豆荚对我们三个人最大的意义就是使我们互相认识。我们是在豌豆荚认识的,我是刘奇的面试官,刘奇现在是PingCAP的联合创始人兼CEO。当时他也是很好的、一个很优秀的同学,是一起战斗过的伙伴。第二就是,我们在豌豆荚切身地体会到一个高速成长的公司,它在技术架构上的“痛”。所以我觉得这两点特别重要。
Lily:
你跟其他两位联合创始人是怎么分工的?
黄东旭:
刘奇是一个特别有战略定力的人。他对很多问题的思考非常深,对整个公司的战略、还有一些大的方向就是定海神针。我主要负责技术,还有产品,甚至我还负责一些社区、市场相关的这种工作。我是一个好奇心特别强,同时设计系统又比较天马行空,不太喜欢被什么东西约束的人,所以负责这个产品和技术创新上的一些东西。然后崔秋是PingCAP联合创始人兼CFO,他是个处女座,他就特别细,然后负责我们的人力、财务,然后还有一些大管家需要做的事情。但是我们三个都是程序员,千万不要把我们不当程序员。
Lily:
我发现一个有趣的现象,好多技术创业者都是三个人作为支架成立团队的。比如说 Unity是三个,HarshiCorp创始人也是三个。我们的Portfolio里流利说、酷家乐都是三个程序员一起创业,为什么是三个不是两个或者四个?
黄东旭:
这个就说到了一个我们当时也思考过的问题。首先三角形是一个很稳定的构型。我们三个都是做分布式系统出身的,分布系统里面有一个数据可靠性的定理,数据一定要至少存储三副本,你才能有一个集成。比如说一个系统至少要数据存三份,这时候我写入两份的时候,相当于数据就安全了。所以我觉得有点点迷信,觉得公司的创始人也是要互为分布式系统,作为互相的备份。三其实是一个最小的能达到强一致系统的人数。
如果是两个人的话,互相两边冲突怎么办?就会很麻烦。四个人会面临同样的问题,所以一定要是奇数;同时最小的奇数如果不是一个人的话,那就是三。
Joshua :
我其实觉得程序员创业的初心是比较简单的。并没有一开始就会考虑那么多,也没有特别强的权利的意识,更多的是一起把事情做成。所以我觉得在这样的情况下,人多一点,而且大家是有共同的背景和共同的理性思维方式,这样在一起交流是比较简单的。我觉得很多时候,创业是找不到一个又能够跟你互补、同时大家又能够用同一种语言交流的人。所以我觉得有三个人倒是我觉得是一种机缘巧合。两个人和一个人创业成功的例子也很多。
黄东旭:
我这边也有一个观点就是,其实一开始三个人、五个人、两个人我觉得都OK。但我特别同意Joshua一点,人都是会成长的,互相你要去成长到能够去把后背交给对方的那种互补的能力。我觉得最后其实是,大家不能是三个一样的人。这个其实蛮危险的,所以我觉得互相有一个这种(互补的)组合其实是最好的。不管三个人、五个人,人是要成长的。
Lily:
能把对方的可能能力上的小短板去补齐。
Joshua:
作为中国最好的开源社区,其实我们也希望讨论一下,从你的角度能看到中国的程序员的开源的文化,包括整个在社区的贡献度,和15年创业的时候相比,有没有很大的提高?从今天来看,中国程序员的社区参与度和对社区文化的理解,跟全球、北美的这些程序员相比,是不是还有一些不一样的地方?
黄东旭:
对,这个问题问得很好。我先说一下PingCAP自己的一个例子。其实从PingCAP成立的第一天开始,当时我们并不是像很多传统的开源软件已经在一个大公司里面做出了一个基础,然后再出来开源。我们确实是从0开始的。出来创业第一天开始写第一行代码、开始开源。举个小例子,比如当时我们三个创始人在办公室里开始写代码,然后开始提交代码。提交代码需要做一些事情,比如说这个地方你觉得你写得不好,大家要告诉你,评论一下你这地方写得不好,应该怎么写。当时就像现在这样,Joshua坐在我对面,我们的Max坐在对面,我们互相不说话,把代码提交到GitHub上,也就是代码托管平台。提交上去以后在这个代码后面留言,说这个地方应该怎么写。然后我就会上去回复,去改,再提交,然后合并。尽管是面对面,写得不好就得改。
其实我觉得开源有一点,它并不简简单单是把源代码给开源出来,而是把你整个做事的过程、过去的这些讨论都公布出来。其实开源社区大于代码,如何构建一个“透明”的社区很重要。现在你往回头翻,你可以翻到我们第一行代码的提交、每一个中间经过的讨论、代码上的修改、为什么要这么做……这些都是可查可追溯的。在大概15年的时候,大环境还没有这么接受(开源),我们接触开源比较早。我从初中开始;刘奇也是一个坚定的开源的信仰者。所以我觉得我们当时的认知还是在整个行业之前的。
但其实我觉得现在有一点, PingCAP这几年的发展把中国整个开源带起来了。让大家看到了开源应该是这么做的,可以这么做。
同时我觉得中国这些年,由于移动互联网的蓬勃发展,催生出了一批很好的程序员。他们要解决的问题其实已经超过了他们用的这些开源软件,比如说在美国诞生的这些软件能解决的范围,所以迫使这些很优秀的工程师开始思考要让开源基础设施变得更好。因为如果只是单纯地去用,(这些软件)已经没有办法满足他们的需求了,他们是“被迫”去贡献的。所以我觉得这个两方面都有,一个是大环境更认可;第二就是业务需求的倒逼。大家也看到了平台里的一些商业化的一些路径,包括云的这些时代的发展,也慢慢清晰地看到了开源变现的商业模式。所以我觉得几方面的因素加起来,现在(环境)肯定是比5年前要好很多。但其实PingCAP的一个思考方式,或者说开源这件事情思考方式,并不是说要做中国的什么。首先开源软件,或者说一个好的开源的技术应该是属于全人类的,这就是为什么从第一天开始就一定要用英文。因为英文是技术界的通用语言。
第二点就是,如果你要把开源作为你的战略,或者说基因的一部分、你的坚持、你的信仰。即使在没有观众的时候,你也会像我们一样一开始就这么去做,而不是说去装。所以我们当时的一个思考方式就是:我去盯着我认知里边最好的开源软件,他怎么要求自己,我们就怎么要求我们。
比如说Linux,这些都是非常伟大的开源项目。(用)它的运营,它的要求,它的标准来要求自己。我觉得有很多其他的开源软件的开发者、公司来问我们:你们的运营怎么做的?或者说你怎么理解开源?我说很简单,你就按照全世界最好的开源项目要求自己,做就好了。
就像你目标是去考清华北大,你按照清华北大的要求去要求自己,我觉得你的结果也不会太差。
Lily:
对,其实我很好奇。中国的程序员有天然的语言障碍的,尽管在我们的基础教育里英文非常重要,但我也听说过有程序员把拼音写到开源系统里的。你怎么面对这种语言上的挑战?
黄东旭:
其实这在我这边并不是一个特别大的问题。至少对于我来说。我觉得对现代的开发者来说英语应该不是个问题,而且像Google Translate这类翻译软件都已经很好用了。沟通上是不太有问题。我觉得背后更大的问题是说:你愿不愿意分享?因为中国的文化其实还是比较内敛的,如果能把这一关给过了,其实沟通语言的这些东西都只是工具使用的问题。
还有另外一点,比如说国际化这件事情。你是不是真的想做一个全球化的开源项目?我觉得认知的改变其实是更重要的,如果你只是把这件事情当作应付;或者说老板要求用英文,可能就真的会出现有拼音这种问题。所以有很多时候你先得自己相信:我就是几个国际化的开源项目,我就理应用英文,尽管我可能现在99%的用户都是中国用户。
Lily:
你的海外用户会因为PingCAP是一个中国公司,他们就很介意吗?
黄东旭:
其实我觉得我们做得比较不错的一点就是我们是一个全球化的公司。我举个很好玩的例子,我们有些客户在美国,他说:我想用这个东西,大家今天在这边来交流一下。在疫情期间大家都线上会议。Zoom一打开,我们在北美的同事上来了;一个在新加坡的同事上来了;一个在北京的同事上来了,大家都说英文。这不就是一个全球化的公司吗?
而且再看我们做的事情,都是很标准的开源项目,没有惊喜。大家不会觉得一眼看上去这是个中国公司,一看全是英文。对于技术界的同学来说,没有惊喜。当你要去做一个全球化公司的时候,这点会特别重要。
Lily:
对,所以写代码,或者说开源这个领域,它是一个天然具备出海优势的行业。Joshua我们除了PingCAP,还有其他开源的项目吗?
Joshua:
刚才如东旭所说的,尤其是商业化开源项目的浪潮下,商业化开源项目就是由一个公司来主导的开源项目。其实在美国也投了很多(开源项目),比如说像Hashicorp, Kong等等。尤其是Hashicorp,其实也算是一个在北美、在全世界的很多互联网公司里面都知晓的一个开源项目。
我们一直在全世界范围内寻找最好的开源项目。尤其是在找商业化的开源项目时,我们并没有专门去区分去找美国的或者去找中国的(项目),我们现在是在全世界范围内比较。我们当时投资PingCAP时也是拿TiDB会更Cockroach Labs等等一些北美的竞争对手去比较性能的。在比较整个社区的活跃程度的时候,我们发现TiDB是在全球范围内数据库领域里面,尤其是OLTP里面非常领先的一家开源项目的公司。
其实在提到中国数据库的时候,很多人下意识的会想到国内的金融。(金融机构)当然是很大数据库购买者,但是不要忘记在全世界范围内,大数据的应用的实力来自于中国。比如说像在美团、知乎等这样的企业,他们所需推荐算法,他们所需要这些各种各样的新的业务(推广),他们所需要的运算……其实都是传统数据库满足不了。而且需求的复杂度跟数据量不亚于国外的公司,所以中国也是一个非常好的土壤。
同时我觉得如东旭刚才所说,这个事情从一开始是国际化一部分,当然有市场的考虑,因为我们天生就是中国的团队,近水楼台,服务中国的客户、和我们离得近的客户是完全没有问题的。
但也正是因为开源这件事情,如果你不坚持全球化的一种情怀,或者说一种精神内核。比如你刚才说的,喜欢摇滚乐,如果你不坚持这个内核,你不坚持:无国际化不开源;如果你总是想说我是服务一小部分人,我来自于这一小部分人,我只要让这一小部分人满意,这一小部分人为我买单就可以。这与开源,或者说跟工程师去投入做开源这件事情的人设是相违背的。我们这个东西一定要去造福全世界所有的人,全世界所有的人都可以平等地来使用它、贡献它、享受它,当然也可以买它。
我相信这应该是PingCAP从第一天开始就埋在心里的。随着这几年产品、技术、社区越来越成熟,我们越来越发现,这既是我们的理想,也是因为不得不这样做。我们走到了今天这个时间点上,我们必须要去打开大门向全世界看齐。我们积极地在日本、在美国去寻找这种使用的范例,跟客户做推广。因为我们必须要吸纳全世界最优秀的工程师来为我们社区做贡献。
Lily:
你们现在在中国拥有大量的客户,你还记不记得最开始去谈客户的时候,你第一个搞定了商业客户的时候是一个什么样的场景?你怎么说服他的?
黄东旭:
我记得我们第一个客户是一个游戏公司,当时这个场景很有意思。我们做数据库——企业的核心命脉。一般CIO和CTO不会把核心另外放到一个没人用过的、小的、特别新的、开源的创业公司做的一个软件上。当时情况特别好玩。这是个游戏公司,它有一个广告投放业务:比如说一个游戏的广告,投放出去以后,它记录在不同的渠道哪些效果好;哪个渠道效果好的话就多投一点到这个渠道,相当于实时的广告投放决策系统。
他原来用的系统是MySQL,很中规中矩的选择。随着数据量越来越大,系统就越来越慢。我们去跟公司的CTO说:反正用MySQL已经也不行了,用我的可能还救得活,而且你没有什么迁移成本,因为都是MySQL兼容,不用改代码,你要不试试?就是抱着这种态度。
Lily:
对,就还是产品说话。
黄东旭:
我觉得对于这种技术软件公司来说,最好的资源其实是这些场景,简单来说就是机会。就是说你做出了一个屠龙刀,首先你得有一个龙来屠。中国确实现在是有需求能够让你去做这些事情的。一些增长特别快的公司,包括摩拜单车,早期也是使用TiDB的很有名的一个用户,PingCAP支撑了他飞速的发展。所以我觉得我们从互联网行业切入也是一个很自然的事情。
Lily:
您觉得让客户去换一个数据库成本高吗?
黄东旭:
其实这个问题我觉得要一分为二地看。对任何一个用户来说,换数据库不会没有理由的。像手术换个心脏或者换一个大脑,一个汽车换个发动机,关键是你这个东西能不能带来价值。比如现在传统行业,你这个东西“引擎”不换,投入无数的IT的infra成本,infra说不能做,那还得了?
对于传统行业来说,面临数字化转型的挑战,如果不用这些更新的技术去解决这个时代要面临的问题,自然会被淘汰。所以我觉得这里边最大的一个难或者不难,其实是取决于企业的决策者、或者说企业自身对于转型的决心。现在很多时候不是我们去说服他,而是要他主动去说要做。
一是说服自己,第二就是我一定要用最新的技术来去领先我的竞争对手。其实这是发自CEO或者CIO内心的恐惧。其实我觉得我们很多时候并不是去找客户说你要换个数据库;而是说要用更新的技术来去支撑新的业务让竞争对手追不上。
Lily:
最后再问问你们二位关于融资的事儿,因为我知道当时PingCAP这一轮的投资窗口开的时候,市场上已经变成了疯抢的状态。所以我就想问问Joshua,你是怎么跟三位PingCAP的创始人达成了共识,让他们愿意拿我们GGV的投资?
Joshua:
说实话我觉得确实是因为GGV在开源领域有这些理解以及我们对于开源有信心,还有我们已经投资了一些开源公司,跟PingCAP之间还是有很多协同的。我们跟东旭、刘奇和崔秋认识时间也比较久了,双方都比较了解,我们的合作应该来说是一拍即合的。
我觉得对于创业者来说,在挑选投资人的时候,当然一方面是看中他的资源,但更多的时候还是需要对方特别认可你现在在做的事情、而且是坚定地相信商业开源这件事情的投资人。所以我觉得在这一方面我们跟PingCAP之间是有高度的共识的。当然PingCAP正在比较快速的国际化,GGV作为一个全球的投资机构,在美国、在东南亚、中国都有很多投资和人脉关系,我们也可以帮助PingCAP在走向全世界的过程中更好地处理跟全世界来自不同文化的开发者的关系;去处理不同需求和不同背景文化的客户,以及全球各种各样的监管机构、复杂的环境。我们可以帮助PingCAP更好地管理这种成长过程中遇到的一些新的问题,我相信这些可能也是打动PingCAP的地方。
Lily:
作为一个技术专家,又是一个多年身在一线的程序员,你觉得随着新技术的普及和底层基础设施变革,未来的数据库行业还有哪些机会?
黄东旭:
这个问题问得很好。首先最近这段时间一直有一个特别强烈的直觉告诉我,我们又站在了一个时代的、特别是技术时代的交界点。我觉得这种交界点大概就是以10年的一个维度来去衡量。从现在开始往回10年,一直到分布式系统的技术发展到像PingCAP今天这样的状态。现在正好我们在一个新的十年的开头,一件很重要的改变是云基础设施的建设。“云“开始真正变成构建下一代数据库或者云上的基础软件的一个新假设。
比如说我这一代程序员在设计系统的时候,在我小时候,是一台计算机,这一台计算机有CPU、内存磁盘;后来使用分布式系统,我可能看到是一群计算机。但是现在这个时代开始的是什么?未来下一代的开发者或者说技术软件开发者,他已经看不到计算机、看不到硬件了。
像Snowflakes是一个很好的例子。它的软件是完全构建在纯粹的云基础设施上面的,它没有CPU,没有硬盘,没有所有的东西。它的软件的最底层其实是一个云基础设施,是API,它是一个以API为基础的软件。
所以,比较偏激也好,或者有点疯狂也罢:我相信未来所有的基础软件都会在云上重新被发明一遍,数据库也不例外。
我们又站在了一个新的时代的开头,这个开头就是要抛弃掉所有的关于物理计算机、传统的计算机,或者冯.诺依曼的理论假设,完全面向“云“去设计新一代的软件。但这个东西有答案吗?我觉得也没有什么特定的答案,这就需要探索。比较幸运的是PingCAP现在有资源、有能力去做这件事情的探索,我们希望能给全人类摸索出一条路出来。
Lily:
我觉得一点也不疯狂。我能看到,像在特斯拉之前,人们是很难想到说电动车能够普及。它其实也伴随着很多挑战,比如说家用充电站、超级充电站、电池的技术、气候等等问题。可是它现在已经实现了第一步了。还有就是人类去月球,像龙飞船这样的普通民用公司已经可以把人类去载到另一个星球上去了。
所以我们这一代人是完全可以见到未来所有的软件都是基于语音开发的。现在咱们电脑上都不太需要装 Microsoft软件了,大家备份都放在各种各样的云盘上了。一定会发生这一天。
黄东旭:
对,比尔盖茨年轻的时候好像说过一句话:这个世界上只需要5台计算机。当时被当作笑话来看,但是站在现在这个时间点去思考,好像指日可待了。
其实对数据库来说,回到我们在做的事情,很多时候大家问数据库要成为什么样子?或者说你觉得你会成为什么样子?其实我给出的答案是5年后、10年后,数据库这个技术不应该是客户的业务去适应软件,而是软件去适应客户的业务。所以你要我说这个数据库它是什么形态,不好意思,我也不知道。你的业务什么形态,我就把自己变成最适合你的形态。这个其实是我们正在做的事情。