文/崔玲
PingCAP的联合创始人之一,CTO 黄东旭,1987年出生的他,还是一副大男孩的模样,初次与人见面,他显得略有些腼腆,不善言辞。
但一提到自己的创业项目,他完全就切换了一种“模式”,瞬间神采飞扬起来。
刘奇、黄东旭和崔秋,这三个程序员,是 PingCAP 的联合创始人,共同的特点便是擅写代码,在技术圈内名头响亮。黄东旭作为 PingCAP 的 CTO,除了掌握产品的开发进度之外,也担负起公司的“代言人”,游走于各路关系之间,为公司布道。他们做的这个创业项目是新一代分布式数据库 TiDB,如果没有一定的技术基础,难免会觉得晦涩难懂,但确实又与每个企业的服务息息相关。
▲ CTO 黄东旭,10 岁就开始写代码的“小黑客”
打破结界
黄东旭神采奕奕的走到白板面前,边写边讲,向险峰长青“科普”这个创业项目的由来。
大数据,是眼下最时髦的词汇,作为底层基础能力的数据库,承载了云环境下的大量新业务需求但是,在黄东旭看来,虽然现在很多技术都已经非常成熟,但是存储数据的方式,还是有些“土”。
目前,有几个主流的数据存储方案,像 MySQL、Oracle、PostgreSQL 这样的关系数据库,问题是很难扩展。尽管现在拥有分片技术,比如 youtube/vitess 和 MySQL proxy 等开源中间件方案,但它们都不支持分布式事务以及 cross-node join。
这些技术性很强的专业理论,黄东旭用一个形象的比喻来解释,“随着我们在网络上的行为越来越多,数据累计也越来越多,如果把现在主流的数据库存储比喻成一个水桶,那就是这个水桶已然盛不下那么多数据了,那怎么办,就再放一个桶,然后把溢出来的数据放到另外一个桶中。但是问题就出现了,这些水桶之间不是一个整体,造成数据与数据之间是分开的。”
弊端显而易见,一是维护的成本比较高,二是所有的数据并不是存储在一个“水桶”里,不能很优雅的解决自动弹性扩展的问题。
刘奇、黄东旭和崔秋三个人的交集是豌豆荚,他们推崇开源的文化,具有浓郁的黑客精神,整个团队做的所有东西都是开源的。
PingCAP 团队认为,未来的数据库应该是开源的,支持这数十年来我们一直使用的 SQL 和事务,不能轻易舍弃;必须有良好的扩展性,即只需要接入更多的机器就可以实现容量的扩展。他们的构想来源于 Google 于2012年发布的两篇论文——Spanner 和 F1。黄东旭将此定义为“里程碑的事件”,资料显示,Spanner 是一个可扩展的、全球分布式的数据库,是Google 设计、开发和部署的。在最高抽象层面,Spanner 就是一个数据库,把数据分片存储在许多 Paxos 状态机上,这些机器位于遍布全球的数据中心内。复制技术可以用来服务于全球可用性和地理局部性。客户端会自动在副本之间进行故障恢复。随着数据和服务器的变化,Spanner 会自动把数据进行重新分片,从而有效应对负载变化和处理失败。
黄东旭向险峰长青解释说,这种模式彻底改变了原来“土鳖”的数据存储方式。但由于这是 Google 内部的数据库,很难实现完整的开源,这就给 PingCAP 做这样的分布式数据库提供了机会。
▲ CEO 刘奇,推崇开源精神
创业起步
虽说有了创业的想法和理论基础,但这个数据库构建起来的 Paxos 算法复杂,掌握的人并不多。转机出现在 2014 年,斯坦福大学的一位博士做出了一个 Raft 算法,在容错性和性能方面相当于 Paxos 算法。这个相对来说降低了分布式数据库建立的门槛,从 2014 年 6 月开始,就开始陆续有人在开源界复制这种模式的“大水杯”。
2015 年 4 月,刘奇、黄东旭和崔秋也陆续从豌豆荚离职,开始做这样一个创业项目。险峰长青是他们最早接触的投资机构之一,管理合伙人李黎认为,目前来看PingCAP 在国内没有相仿的公司,而这三个创始人具有非常优秀的背景,对数据库技术的发展趋势做了准确的预判并在这个方向上发力,毫不犹豫的投资了他们。不过,回忆起与投资人的那次见面,黄东旭显得有点尴尬:“因为险峰是我见的第一家,我跟李黎聊了两个多小时的数据库模型,现在回想起来,觉得自己兴奋地跟投资人聊很难理解的技术细节,有些不合适。”
对于 PingCAP 而言,起步最难的在于人才的极度匮乏,黄东旭介绍说,目前国内这一领域的人才凤毛麟角。
但是PingCAP 依然聚集起了领域内顶尖的人员,大部分是资深的分布式系统和存储工程师。究其原因,在于底层架构对于每一个心怀技术梦想的开发者而言,极具吸引力。“因为我们要做的是前无古人的事,如果做出来,会在整个计算机历史上留下痕迹。”黄东旭的骄傲之情溢于言表。
如今,PingCAP已经拥有 近30 人,比较大的公司如华为和京东,都有全职的工程师团队在合作提交代码。在扩张路径上,他们选择了彻底开源代码,将产品的愿景与核心共享给社区,吸引合作伙伴和社区的加入,把生态做大。这种思维模式,也让 PingCAP 没有了竞争对手,而是合作伙伴。
黄东旭解释说,在开源社区有一个不成文的规则,底层架构搭建好了之后,大家自然会加入继续往上添加代码完善生态,而完全没有必要去复制底层构架,“这是无用功”。
也就是说,先发优势让 PingCAP 有了更多的主动权。举例来说PingCAP
正在建立开源分布式 NewSQL 数据库的标准,这个一旦搭建完成,对于目前数据库领域,将是一种颠覆。
▲ 联合创始人崔秋,同样也出身豌豆荚
未来蓝海
目前,国内做类似数据库的,只有阿里的 OceanBase,这个数据库目前承载了支付宝的支付业务的数据,但是是闭源。
在国外则有同类的项目,起步较早的,是成立于 2014 年 6 月的 CockroachDB(蟑螂数据库),“虽然我们的兼容性不同,但同为 SQL 协议兼容,都想做水平扩展的分布式关系型数据库,都认为 SQL 一定是未来数据存储的终极目标。”黄东旭解释说,作为全球仅有的两家此类型的开源数据库厂商,只有共同进步,才能更好更快的培育这样一个市场。
在黄东旭的概念里,开源并不是免费,虽然技术人员经常被问到商业模式,也让他很无奈。但他分析后认为,开源的商业模式在硅谷也是很成熟的商业模式 ,“在美国像 Cloudera、Docker、 CoreOS 甚至 OpenStack 基金会等这些公司依托于开源项目,其商业模式是得到过验证的。”
在这群用技术改变世界的程序员眼里,商业模式只是他们梦想的一部分。更重要的,是用这样的黑客情怀,打破现有的“垄断”,建立新的数据库领域秩序。
之所以有这样的想法,或许与黄东旭个人经历不无关系。他热爱写程序,1997 年,只有10 岁的他,就开始接触代码。比尔·盖茨的《未来之路》对他影响深远,硅谷是他心目中的圣地。十几岁也正是叛逆的年龄,从微软结缘到,他开始接触自由软件,这其中的内核便是开源和硅谷精神。在他看来,开源的精神内核可以保证产品的快速成长及稳定,并进一步促进之后的商业化进程。
三个人中,黄东旭相对来说,性格稍显外向,于是便被推举为公司的“代言人”,很多对外的活动都由他来应对。见投资人、面对媒体……现在,PingCAP的销售团队也在搭建过程中,黄东旭也承担这一部分的工作内容,但这都不是他最想做的,“我想等到公司的一切都走入正轨之后,能够自己安安静静的写代码。”