前辈之路(3) 黄东旭专访

hxd

hxd

受访者:@黄东旭,PingCAP创始人。

小记者:@龙星镖局

感谢你接受我们的采访,现在开始我们的访谈吧!

(1)能否介绍下个人的从业简历。

和大多数人可能不太一样,因为个人兴趣,我很小就开始写程序,基本小学毕业时基本把大学本科的的相关的编程课程读完了,从 Basic 到 Pascal 再到后来的 C,大学里主要的兴趣集中在算法比赛上,大三开始作为 Intern 在微软亚洲研究院做了一年,直到后来加入网易有道,在有道几乎是随着有道词典这个产品成长起来,从一个很小的产品,到我离开时已经是下载量好几亿的大众产品,还是很骄傲的。也是由于有道的自由的风格(也可能是因为人手不多),在这个产品的后端,前端,客户端几乎我都有参与,得到了很多的锻炼和成长。

在网易三年后,加入了当时还不太大的豌豆荚,主要的工作在分布式存储基础设施上,而且豌豆荚是个鼓励开源的三观很正的公司,我们开发并开源了 Codis 后来也帮到了业界其他很多公司和团队 ,这个是比较欣慰的一件事情。在解决缓存的问题后,我们觉得关系型数据库的问题很大,当时我们在做着一个 MySQL 的中间件, 但是你也知道,中间件这种东西需要业务端做很大的修改,我们就在思考有没有更优雅的方案,当时觉得 Google Spanner 和 F1 的模型是一个我们认为很理想的未来的数据库的样子,而且我们也有把握能搞定,另外这个东西一定是要开源的,而且我觉得解决这个问题的意义比一个分布式缓存重要多了,所以团队几个人就一起出来创业了,很快拿到了一笔来自国内顶级 VC 的非常不错的天使投资,于是就有了 PingCAP 了。

(2)请用简短的文字介绍下贵司的基本情况。

其实 PingCAP 这个公司,从名字就能看出我们还是比较 Geek 的,CAP 理论是分布式存储系统的一个公理,Ping 代表连通,我们希望尽量打破 CAP 之间的隔阂,当然 100% 是不可能的 :),我们公司的方向是研发下一代的分布式数据库,与很多国内的数据库友商不太一样的是,我们是一个完全的 Open Source 公司,核心的产品 TiDB 是完全开源的。另外在模型上,也和传统的单机数据库有很大的不一样,背后的模型采用了 Google 在 12 年 13 年的两篇论文,也是目前唯一一个在大规模生产环境中验证过的大规模分布式关系型数据库,目前这个领域在开源社区并没有任何优雅的方案,而且传统的很多关系型数据库的理论在这个场景下需要很多的修正。所以分布式关系型 NewSQL 是一个非常大的市场空白,我们一个很核心的特性是跨数据中心的多活的架构。我认为目前所有基于主从同步复制的方案都没法实现真正的跨数据中心多活,我们基于 Raft 一致性算法取代了传统的主从复制方案,从理论上就解决了这个问题,我们也是全球仅有的几家拥有这个技术的公司。分布式关系型 NewSQL 目前社区也没有一个事实标准,当然技术门槛也非常高,不过我们并不畏惧复杂度。从这个公司成立的第一天起,我们的目标就是做全球顶级的分布式数据库技术。到目前为止,我们的项目 TiDB 和 TiKV 在 Github 已经收获了 5000 多 stars,代码质量极高,社区非常活跃,也有几家大的合作伙伴,Beta 版近期发布后已经有一些社区的朋友用到了自己的生产环境中,算是开了一个好头。我们目前也在招聘,如果有对分布式系统或者 SQL 感兴趣的工程师,可以和我联系。

(3)看你之前介绍,贵司的主要产品是下一代开源数据库,那么盈利模式能介绍介绍下么?

这也是一个经典的问题了,开源和商业成功是不冲突的,我认为基础软件不开源就是死路一条。在硅谷,开源基础软件的商业公司有很多,也不是什么新鲜的事情,比如 Cloudera, Hortonworks, Docker Inc, CoreOS 等等等等,基本都是依托的核心的开源软件,提供周边收费的商业选件,技术支持服务,另外还可以和云厂商合作给云服务商的客户提供数据库服务,甚至像 OpenStack 基金会这样,每年靠收会费都有好几亿美金的收入(笑)... 这些所有事情都有一个大的前提是:产品和社区,把这两者抓好,后面很多事情是水到渠成。而且数据库作为业务的核心,你给你的用户解决了问题,带来了价值,想获得商业上的成功,我认为是不难的。

(4) 数据库是一个综合算法、软件等更紧密的计算机分支,很适合对计算机感兴趣的人持续去专研打磨。但学界和工业界有一部分人会选择转向数据挖掘之类的职位,你怎么看?

我其实对于这个趋势有一些自己的看法,仅代表个人,我认为最近 AI 的火热让很多人变得浮躁,一些人才看完了概率论入门,刚学会线性回归,部署个 Spark,稍好点的把 Caffe 能搭起来玩玩就认为是数据科学家了,其实在这个领域里有很多的基础的问题还没有解决得很好,比如海量数据如何存储?如何打通数据库和数据库仓库以提供更好的体验?有没有更好的更实时的计算框架?虽然最近 Deep Learning 很火,但是怎么落地还是需要仔细的思考,两条路线,一条学术路线去扎实的做理论。另一条系统架构的路线,包括分布式存储和计算框架。切勿浮沙铸高台。

(5)对在校的计算机方向的同学学习上有何建议?

我的经历比较特殊的,可能可参考的点不太多,而且现在互联网那么发达,条件比我当时好多了,但是出发点还是找到你最感兴趣的方向,然后找到你任何能找到的资料学习。另外一些比较偏实际的就是积极的参与开源社区,而且要和社区的人主动沟通起来,github 是很好的工具,已经大大的降低了参与开源成本;还有一点是好好学英语,这个非常重要,非常重要,非常重要!其他的没什么了,还有 GPA 什么的,如果铁了心毕业就进入工业界,其他无关的课程及格就好不用考虑太多(政治不正确。。。),能早出来实习就出来。反过来我想对现在的大学计算机教育提一些建议,多数学校教的东西太老了,而且计算机是一门重视实践的学科,而且在大数据 / 系统架构等领域,工业界是远超学术界的,多给学生一些实习的项目和机会会更好。

(6)从业以来,有没对你影响很大的人或者自己的伯乐,能否谈谈?

突然这么一问,还一时没有想起谁...如果非要提一个的话,那就是我妈,虽然她一点也不会编程,但是在资讯还很不发达的年代,给一个 10 岁小孩极大的自由,当年想买手册、图书从来都是有求必应。因为年龄的原因,大多数的知识只能自学,一直到大学毕业,感觉一直都比较寂寞。后来从业了以后,认识了很多方面比我强得多的朋友,互相切磋学习,伯乐的关系倒是没有过。

(7)近年来,大数据、云计算、互联网 等概念炒起来后,对你的专业领域有没直接的影响?

有,我还是认为炒概念会把整个业界搞得浮躁,其实仔细想想,分布式系统领域已经很久没有突破性的创新了:现在很火的 Hadoop 是 Google 02 ~ 06 年的几篇论文;很火的容器技术的核心 cgroup 其实好多年前就已经进入了 linux 内核...并不是说用几个流行的开源框架搭起来就是大数据了, 如何根据自己的业务来落地需要有自己的思考,不能人云亦云,在这点上很多国人都又这个问题。不过另一方面看,这些概念的普及,让我们这些底层基础软件走向了大众的视野,至少很多人能理解我们在做什么,我认为整个中国大的环境在持续变好,拥有真正创新核心技术,解决用户实际问题的产品和团队会像大浪淘沙一样浮现出来。

(8) 移动互联网让人们可以从手机上方便地获取很多服务,但很多人也有了严重的手机依赖症,你对这个问题怎么看?

没办法,我没有手机也活不了,早已放弃治疗了。

(9) 创业以来,最大的感受是什么?

招人难,难于上青天,很庆幸公司早期聚集了这一批小伙伴,主要是朋友或者朋友的朋友,都是很强的工程师,给我们的工程质量设置了很高的 Bar。要说这个公司最宝贵的财富其实不是产品,而是这个团队。现在很多时间都花在招人上边,因为这个分布式数据库这个东西的门槛比较高,同时又要找到三观匹配的人,就更加困难了 🙂

(10)贵公司现在还缺人吧,如何联系你们?

we're hiring 内推简历请发至:huang at pingcap.com

转载请注明:《前辈之路(3) 黄东旭专访 | 我爱计算机

Leave a Reply

Your email address will not be published. Required fields are marked *