黄东旭,TiDB 的灵魂骑手,和他的叛逆“问答”
采访/撰文:宇婷
TiDB 是一个有“生命”的数据库。
2018 到 2019 年,TiDB 的 SQL 层有 30000 多次 PR 提交,60%的代码更新。2020 到 2021 年,TiDB 又有一半的代码迭代。根据 TiDB 官方数据,在 ASKTUG 论坛里,关于 TiDB 70%的问题是社区用户自己帮助自己解决,不需要找 PingCAP 官方支持。
从一开始想解决 MySQL 分库分表需求,定位为 NewSQL。到进化为 HTAP(Hybrid Transaction and Analytical Processing,混合事务和分析处理)数据库。
这是一个和自己出生第一天已经不同的数据库,也是一个每一年都和上一年不同的数据库。
TiDB 自己在“生长”。
黄东旭是 TiDB 的主要设计者之一。他和搭档刘奇、崔秋在 7 年前,原创设计了这款分布式数据库软件,并创立其背后的公司 PingCAP。
在 TiDB 之前,中国本土几乎没有从 0 到 1 做出的能够被全球用户使用的基础架构层的软件。也没有能够位列国际开源社区前列的,由国人主导的数据库项目。
2020 年国际数据库会议 VLDB 收录了黄东旭作为第一作者的论文《TiDB:A Raft-based HTAP Database》。这是业界第一篇 Real-Time HTAP 分布式数据库工业实现的论文。
2021 年 4 月,TiDB 5.0 版本引入 MPP 模式。TiDB 将查询的计算下推到 TiFlash MPP 集群,借助分布式并行计算,TiDB 成为了一个真正的 Real-time HTAP 数据库。
但 TiDB 还在进化。
“PingCAP 和过去半年比,是一家不同的公司。”黄东旭在不久前接受 TO B 新势力采访时表达。从去年“火车模型”研发流程到今年云上交付,TiDB 从纯粹的开源软件到面向企业级的数据库产品,正在成为云服务提供商。
云会支撑 TiDB 用户 Self-servicing 的程度,使之向规模化、标准化、自主化发展。TiDB Cloud 在全球范围正式商用。
在去年 PingCAP 的开发者大会 DevCon 上,黄东旭曾提出自己对未来数据库的预测:“数据库作为独立的软件形态会消亡。”他认为云计算趋势下,未来数据库独立软件会演化为数据服务平台。
作为 PingCAP CTO、联创的黄东旭,他在过往采访中多次提到对谷歌、Snowflake 几篇重要论文的重视,这启发了他在早期技术路线和商业趋势上的选择。另一方面,也展现出一种技术人对数据库本质的洞察和技术自信。
PingCAP 最早投资人经纬中国合伙人熊飞在不久前的媒体采访中表达:“我觉得在中国,其实并没有全世界顶级的底层架构产品,不管是数据库也好,存储也好,网络也好。PingCAP 这家公司,我觉得是有机会在这个领域实现零的突破。”熊飞的团队几乎看过中国绝大部分 TO B 项目。
在中关村东升科技园的办公室里,有一些明显呈现出几何形状的小隔间和会议室。这些几何图形来自于 PingCAP 的 Logo。PingCAP 的名字和 Logo 是黄东旭设计的。
绝大部分第一眼见到他的人会说一句:“没想到 PingCAP 的 CTO 这么潮!” 与产业研究形成反差的是,黄东旭本人说话风趣,语态偏向 90 后。他梳着摇滚乐手的披肩发,喜欢穿 T 恤,讲起 TiDB 的结构、 Rust 和 Unix 哲学,手势飞舞就像是在弹琴。
他几乎符合《大教堂与集市》中对黑客(着迷于计算机技术并通过编程提供极具价值软件的人)的所有描述:写得一手好文章、阅读科幻小说、禅修、欣赏摇滚、用词幽默以及画画。
在 PingCAP,大家都很喜欢《禅与摩托车维修艺术》这本书。书中的主人公骑着摩托车旅行,在自然、野外、旅店和机车维修之间探讨辨思。
黄东旭正是这位骑手。
《禅与摩托车维修艺术》书插图
01 向自己提问
“约翰看到摩托车的时候,只看到各种形状的金属,于是就厌恶它。但我却看到设计者的理念。约翰认为我接触的是各种零件,实际我接触的是各种观念。”《禅与摩托车维修艺术》书里写道。
除了发型,黄东旭最与众不同的气质是他对技术“叛逆”的追问和观点。
他写了很多博客文章去阐述对开源的思考,透露出与众不同的角度。比如,当你在思考开源社区和商业化的共存时,他抽象为那是“河与岸上的人”。当你在思考系统设计时,他类比为从复杂生命体的交互中找到真正对抗复杂性的方法。
创业开始,黄东旭给自己提问:如何能在五分钟之内去说服企业客户的 CTO 用 TiDB?他的答案是:2017 年第一个 TiDB 版本解决了 MySQL 的扩容需求,这个切入点带来了 TiDB 早期的快速发展,这也回答了 TiDB 客观存在的必要性。
TiDB 是一个新技术,在六七年前想替换用户的 MySQL OLTP,这样一个新软件和一家创业公司,如何获得信任是一个很现实的挑战。
黄东旭又给自己提问:凭什么用户要用进核心系统里面?用户怎么能够信任你?TiDB 设计成一个不错的软件后,如何让用户知道你?进入评估名单?得到了用户的信任,同时也有很好的曝光,如何保证自己的成熟度?
早期他参与研发的开源项目 Codis 已有受众基础,网易有道和豌豆荚的工作经历,让他思考清楚一点:做出一个好的新的软件也许难,但真正的挑战在于能够让客户和潜在用户信任和愿意使用。
“人无完人,软件设计者也是有盲区的,让软件变得好用的一条出路是——让更多用户使用,在用户的反馈中形成对软件交互的迭代。”
主创团队对开源的信仰和专业判断,让“开源”成为 PingCAP 的第一个飞轮。开源是使得整个软件的设计过程保持不断换位思考,定位出软件的重度使用者,让用户的声音快速传播。
这种声音传播在本质上打破的是闭源软件的信息不对称,是更先进的软件生产关系,也是 TiDB 能够“自生长”的机制。
02 开源×云=?
如果说开源改善了软件的生产关系,云带来的质变就是生产力。
“下一代数据分析和处理,以开源的模式迭代,一定发生在云端。”黄东旭表达他看到的趋势。
2021 年 PingCAP 的 DevCon 上,黄东旭自己将数据库的未来抽象为一个公式:可插拔性(存储、计算)× 调度能力(颗粒度、细粒度)×云弹性资源 =?
这个公式的含义在于 TiDB 和核心特质是存储和计算的可插拔与开放性;细粒度的调度能力。
在 Real-time HTAP 的物理层面之下,黄东旭把 TiDB 抽象成复制、分裂、合并、移动的“细胞”。细胞不断分裂生长,如果再赋予一个近乎无限的弹性资源池,高速迭代和动态进化就会超出想象。
2022 年春他飞往湾区,PingCAP 新的办公室就在谷歌旁边,那里有来自 MySQL、MongoDB 的 Sunny Bains、Brian Walters 等接近 60 位同事。
2017 年,当时 PingCAP 要出海,PingCAP 在硅谷没有人脉。出旧金山机场,黄东旭拎着一只行李箱。“你都不知道当天晚上要住在哪里。”他回忆。
今年,他不再是一个人了。有琴,有硅谷的同事,以及一起同行的中国同事们。
插图:TiDB 硅谷合照,二排左三为黄东旭
拜访美国客户最重要的感受是:大家关心的不是 TiDB 的技术牛不牛,而是这个技术到底能够帮助自己多快走向市场,比自己的竞争对手领先一步。
服务是 TO B 的重要属性,但平等的对话是新一代企业服务的重要特质。这种平等是建立在为企业客户解决问题的基础之上。
“真正的迭代速度或者说更有价值或更有意义的迭代速度在于你的软件怎么帮助应用开发者更快地开发出他的应用。这能给应用和业务赢得更多的时间。”黄东旭强调。
这句话看似老生常谈,其实背后有新的意义。OSS insight 是 PingCAP 团队最近开发的一个应用,可以实现基于 47 亿条数据对开源项目进行洞察,发现一些开源项目的潜在客户或者行业关注者。
整个网站的制作人月是:两个前端工程师✖️一个礼拜。这个网站的本身说明了 TiDB Cloud 的效率。
加州之行,让黄东旭对 PingCAP 和 TiDB 的迭代有了新思考。在公有云服务商的基础上,Snowflake 、Databricks、 PingCAP 等服务商进一步提供服务。海外疫情促使程序员使用云上软件的门槛进一步降低。程序员自己使用软件和构建软件方式的变化,也是用户使用数据库方式的变化,用户现在以 SaaS 化的方式使用数据服务。
“开源改变了程序编写的沟通方式,但是云改变了大家看待计算机系统的方式,带来更高效的软件迭代速度。云改变了构建软件的底层假设。开源改变了生产关系,但是云原生直接把开发软件这件事,从手工作坊变成工业化。开源和云,像是生产关系和生产力之间的区别。”黄东旭阐述他当下的思考。
“PingCAP 一直通过开源的协作方式构建软件,尽管对于当下的中国市场来说开源依然很重要;但对于美国为首的全球市场来说,云服务更为重要。”
“云目前成为 PingCAP 在海外的更高效的分发渠道,这个分发渠道也是可以规模化、复制化的商业模式。”他总结。
“Live”的方式降低了用户使用软件的门槛,同时也带来了需要思考的新问题。在数据库从分布式系统过渡到云原生的行业阶段,云原生带来了系统设计思考方式的根本改变。从软件到云,这个过程之中 PingCAP 的组织要去支撑从半年到两周级别的迭代。
从 PingCAP 的发展经验看,社区并不是开源软件的壁垒,生态才是。开源社区只是生态构建的一种高效方式之一。Snowflake 的例子可以证明,尽管没有开源,但是在 2012 年开始因为几乎没有任何竞争对手,这给 Snowflake 在产品上有了足够的时间进行差异化定位,因为好的用户体验构建起生态,再通过云和服务取得规模化成功。
“软件商业模式的本质价值是提供服务,服务比软件本身更重要。一个能够反映基础软件核心竞争力的指标是易用性——用户能够 Self-servicing 的程度,在云上自助走完整个产品生命周期的比例。”
“云是唯一的道路。这是在未来让软件公司和用户之间形成高效可靠互相信任的关系的途径,是一种更高效的软件分发模式。在开源基础上更加高效。”黄东旭认为。
“用户甚至连运维都不需要了,付出的是比开源更低的成本。对这件事的本质再深入探索一层,其实是要探索让用户多简单地使用你的软件,这件事是更重要的。”
由于开源软件的中立性,使得开源软件成为用户在多个云厂商之间保持统一体验和统一服务的几乎唯一选项。根据 TiDB 6.0 发布会上的官方对外表达,在商业路线和技术选择上,TiDB 作为独立第三方数据库,除了兼容 MySQL 协议和生态,也与 AWS、Google Cloud、阿里云、京东云等厂商合作。
一方面,多云趋势下,企业级用户需要打通云计算的数据库工具;另一方面,TiDB 在 PaaS 层能够带动企业级客户对云资源的消耗。因此,云也不仅仅是软件迭代交付模式,也在改变软件的商业模式。
在对云趋势的洞察外,黄东旭强调:“一些企业级用户对于稳定性要求严格,迭代速度快的同时,要为用户提供一个更稳定、明确的版本,让用户知道 TiDB PingCAP 官方会对整个版本进行长期支持。不能忽略在发版快速同时企业客户到底应该选择哪一个版本的问题。”
PingCAP 的商业思考,黄东旭也打了一个比方:“PingCAP 能够提供一种自助式的服务模式。PingCAP 没有想把自己提供的数据库服务变成一个五星级酒店厨师,而是想去做一个麦当劳、星巴克,卖到全世界。”
“麦当劳卖出一个汉堡的价格很低,但可以一天卖到上亿个汉堡。五星级酒店的一顿饭可能是 1 万元,但酒店一天可能只能卖 3 顿饭。”
TiDB 的基石用户是大批能够自助式使用的,PingCAP 是 TiDB 社区和商业化之间的桥梁。黄东旭描述这是 PingCAP 在商业势能上的不同。
他给自己提出了新问题:如何设计出一条路径,过渡到以云原生技术为基础的新架构?一个面向“传统软件售卖+ 服务支持导向”的软件公司的组织如何调整为一个能够同时面向运营的线上服务公司?
03 “解构”是一场无限游戏
基础软件行业没有太多应用属性,靠他人在其之上构建应用。这需要设计出好的机制,形成生态繁荣,以涌现出准确的场景。
“开放,能够让大家在这个系统中自己玩出花样,让每一个参与者都可以自由地去做事情。”
黄东旭喜欢《哥德尔、艾舍尔、巴赫》这本书,论证了三个人在底层上做的是一件类似的事情,数学、音乐和哲学中。“迭代代表着一种用有穷来产生可能的无穷的方式。”
Sonic Youth 音速青年也是黄东旭最喜欢的乐队。这支迷幻摇滚乐队,除了曲风鲜明,他们的音乐生涯极长贯穿了从 1980s 到 2000s,且高产。除了坚持自己的风格,他们的创作自主,“你可以做任何你想做的音乐”——他们对自己的音乐传播极度投入。
插图:Sonic Youth 乐队
巴赫与 Sonic Youth 的迷幻摇滚的作品之中隐藏着一种音律的重复。
“这个世界有趣就是因为它很混乱,在混乱中寻找秩序,这才是创造力的来源。”黄东旭认为。
解构是一场无限游戏,带来无限延伸的不确定感。循环是一种可控力量,带来重复的熟悉感。
TiDB 和其他数据库在核心的设计理念的区别是,其并不是做一个数据库后进行分片、分区放在不同的服务器上,而是“定义数据最小的流转单元”。去定义这些细胞的分裂、合并、移动、复制、繁殖。把这些规则用最极简、正交、自洽的规则赋予这些细胞生命,让这些细胞长成一个数据库,是 TiDB 最核心的理念。
插图:TiDB 产品定位:从接近 500 个 GB,到 500 个 TB 之内;从几十毫秒到几秒延迟之内的数据库;在一个库里面同时解决交易和分析,扩展性和实时在线。
在 TiDB 和 PingCAP 的风评中,很重要的一点是——优雅。“当你去形容一个系统或者艺术优雅、漂亮,其实真正重要的是背后的艺术家。一件事物的价值很多时候在于构建事物背后的想法。”
黄东旭们在思考一个更大的实验:对每一块数据分片,每一个细胞让它能够自己拥有自己的存储引擎,进行时配性的存储和动态透明的变换。
他理想中的数据库是这样的:底层各种各样的资源池,各种各样的云,公有云、私有云,混合云;中间逻辑这一层是数据平台,用户不同的业务不同数据,对数据库有不同要求,数据库会根据用户的需要自动去重塑自己。
这个数据库能够像 C 语言、Linux 一样,因为底层足够抽象,即使接口、框架、规则不变,也能应对 50 年的变化。
插图:黄东旭理想中的数据库,画图:黄东旭
开源就像是一场“革命”,革命的出发点需要全新的视角和勇气。
小学的黄东旭,在家拿着妈妈上学的课本“玩”(自学)编程。初中,他以“板仔”形象示人,内心萌发对摇滚的热爱。大学为自己选了一所离家千里之外的学校去读书。创业,他和铁杆朋友闪辞闪创,在不知道什么是 BP 的情况下撞上天使投资人。他们还敢选择一款相对冷门的 Rust 语言,面向未来从头设计一款大部分人不太敢想的基础软件。现在做管理者,他以自己坚持写程序为荣。工作之外,他延续了自己对艺术的思考和音乐即兴创作。
写《In community we trust》这篇文章时,他表达:“很多人会把社区运营和软件开发分开,这其实是喧宾夺主,如果特别重视或者强调一些运营的方式,运营是无源之水,靠运营构建的群体是不会长久的。”
“我不会做太多运营工作,我可能会写文章把一些思考说出来。核心的区别是,这些动作你是放在运营角度看,还是放在贡献角度看。”
“用户不是因为你运营而来,而是因为你的软件本身是好用的,或者觉得可以学到东西、有所成长,能够在这里提升而来。”
除了多种视角和探向本质的思考,他有着非线性评价的视角。
“目前有 A, B, C 三个方案,可能当下看这三个方案差距不大,也许在百分之五十之内。但是如果其中一个开源方案每次和自己半年前比都是在翻倍的提升(背后开源社区推动),这种非线性增长会被低估。”
“很多人都喜欢用静态的眼光看待问题,热衷于各种方案的横向对比,而忽略了进化速度。”
虽然 PingCAP 已经在中国、美国、欧洲、日本、东南亚等地 2000 家企业提供服务,TiDB 在 GitHub 上获得超过 32000 颗星,超过 1300 位开源代码贡献者。
但不得不承认,今天仍有部分人对于开源的思考,停留在僵固化思维和短期视角。
非线性思考,保有一份纯粹和耐心。
图注:蒙德里安足足用了六年时间完成了协和广场 Concorde Square 这幅画
在不久前的 TiDB6.0 发布会上,他强调了一个感悟:再优秀的工程师始终有局限并非完人,因此要不断站在用户视角迭代软件,这也是开源的意义。中国移动互联网的浪潮是 TiDB 的开始,极端真实场景打磨之后影响了海外用户,而现在海外在云上的先进性正反哺中国。
2016 年,盖娅互娱旧有的数据库无法支撑新上线的智能实时广告投放系统。黄东旭驻场判断出问题所在,快速部署上线 TiDB 后,查询时间从原来的 20 分钟缩短到 10 秒钟,瞬间扩容让 PingCAP 在游戏行业一战成名。
“当你的客户觉得你真的帮到他,或者你看到这个东西改变了他们的生活,这种帮助到别人的感觉,让我觉得是 TO B 工作中最有力量的。”黄东旭在采访的最后告诉 TO B 新势力。
几年前刚开拓国际市场时,黄东旭的英语水平还需要在演讲头一天背稿。能够演奏很多乐器,是在他初中热爱上摇滚之后,逐渐学会的,黄东旭现在还在打磨自己的很多技能。他的分享之中一直串联着对未来的展望。
《禅与摩托车维修艺术》中说到:你真正在维修的车子,其实是“你自己”。
如果我们相信迭代,无论成绩如何,今天都不是最重要的。
中国的技术理念走向全球,需要有新视角的创业者。
撰写过程中,我认为这四篇黄东旭老师自己撰写的文章值得你一看:
《黄东旭:关于基础软件产品价值的思考》
《In Community We Trust》
《大教堂终将倒下,但集市永存》
《黄东旭:可插拔性 × 调度能力 × 云上几乎无限的资源 = ?》
本文致谢于佩、贾行家文化参考《贡布里希》
版权声明: 本文为 InfoQ 作者【TO B 新势力】的原创文章。
原文链接:【http://xie.infoq.cn/article/a8759ba67f0db204b8a496467】。文章转载请联系作者。
评论