开源!开源!开源!作为开源软件的开发者,我们感觉到,开源软件需要产品化,需要让开发者和终端用户能够有直观感受,这是项目推广和开发者体验提升的重要组成部分。开源社区应该怎么做?国内从业者大多会不约而同地看齐 TiDB。TiDB 的好名声很大程度来源于社区建设的成果,我们曾听到许多工程师说 TiDB 的开发者社区体验极好。那么,到底是有多好?
OSS Insight 作为 TiDB 生态中的一个优秀项目,在提供用户价值的同时,也很好地展示了 TiDB 的能力。本期我们将站在数据库开发者的角度,聊聊如何给开发者提供更多优质的内容和极致的开发体验。
本期节目邀请到了 「OSS Insight」 的作者「霍昊」带你走进数据库的世界,聊聊业界先锋是如何探索开源社区建设的,从一个内部更深层次的视角看——社区发展和产品迭代之间的关系又是怎么样的呢?
TiDB 就像数据库界的海底捞一样,社区玩法不断推陈出新,才成为业内的标杆。让我们跟随作者的视角,看看数据库厂商里的「海底捞」为何如此受欢迎。
[08:10] OSS Insight 是怎么样的
[17:28] 这个 demo 的作用如何
[27:48] TiDB 为什么可以做得很成功
[36:15] 时序数据是怎样的存在
[40:14] 如何去推产品相关的新概念
[50:08] PingCAP 的口碑是怎么做起来的
如果你也是基础软件或者开源领域的从业者、爱好者,也想和我们聊聊你的经历。可以微信搜索“持续集成”,私信我们立即投稿,一起共创!
如何定义应用架构师
德福:所以你们做的事情就像宜家的样板间一样,对吧?
霍昊: 是的,尤其最近感受更加强烈。因为我们在往 TiDB 里面引入一个向量搜索,在公司刚传达这个决定的时候,我就想——哪怕公司现在把一个世界上性能最好的向量数据库交给用户,用户也还在观望状态,因为他可能也不知道怎么直接把 AI 场景给落地,做什么样的应用,那这时候你就应该教给他全套的东西。
德福:那你是希望帮助他直接就把相关的 AI 应用落地了吗?
霍昊: 是的,否则他只有一个数据库的话就还缺很多东西。
OSS Insight 是怎么样的
tison:OSS Insight 很适合分享数据,前端也做得特别好,我在 Twitter 做一些数据分享的时候经常会用到。
tison: 主要是知识报表,实话说做数据库的企业是很难的,因为没有合适的开放数据来展示应用的能力,但是像天气数据又只对内行人有用。像 OSS Insight 这样的看板开发者都能看得懂,因为有一个 profile 显示 star 数,显示我写了多少代码等等。
tison:这个 demo 有带来客户转化吗?有客户看到 OSS Insight 然后去了解 TiDB Cloud 的吗?
德福:上榜之后的反应一般还是比较高兴的,对吧?
tison:因为当时很新,这也是它很有传播度的一个点。另外 OSS Insight 传承了 PingCAP 的核心风格,就是很酷。
tison:是比较舒服的集成。确实如此,当推给用户的时候,要考虑说他是怎么理解这项技术的。
TiDB 为什么可以做得很成功
tison:我经常说 TiDB 做得一件非常好的事情就是他们做 Talent Plan,然后一直在外面讲各种各样的概念。现在就是人手一个 raft,我们现在 Greptime 做数据库开发时能够找到的人才,有一些是走了 Talent Plan 路子。
德福:TiDB 第一次让我印象很深刻的点就是无限横向扩容,你只要往里存就可以了。它给了一个新概念,给我开了一个新的世界。
霍昊:别的厂商也可以用同样的技术做一款 OSS Insight,那么得加两个东西做一些分析数据库,然后还有做数据库的人。所以不光是技术的选项,也需要考虑维护成本,这些都是展示产品能力的时候需要考量的因素。而且酷必须是持续性地酷,不能只酷那么一周,它可能是一个现象级的 feature。
tison: 很多时候就是深入做进去的人会觉得非常自然。
霍昊:所以要帮一些潜在的用户想好怎么用这个数据库。
时序数据是怎样的存在
德福: 我现在的感觉就是时序数据不是被生产出来的,它只能被采集和观测,而且它永远是以一个采样的方式被观测到的,AS自然而然地产生。比如今天这个屋子有多少度?每一个时间点上一秒,下一秒都有自己的亮度,有自己的温度,有自己的声音,如果你采样频率更高,你就可以无限去细分这件事情。所以数据有多少就在于你采集的有多少,所以它不是在记录数据,它是一个历史,是一些真实发生的事情。然后你再回放历史,分析历史,它的本质是一个史书。
tison:相当于说它不是行为数据,类似于说整个移动互联网数据暴涨的是什么呢?都是用户的行为数据。
而且这种历史我觉得有一方面可能跟 AI 发展有点关系,因为 AI 发展有一个很有趣的点就是大家不太在乎可解释性或者原因,只管把很多的数据拢在一起,把很多发生的事情拢在一起,然后我就得到了一个结果,这结果之间有相关性。那为什么今天实际数据可能更重要呢?因为我们会发现当微服务这种乱七八糟东西,这些应用上云以后上面有很多的、乱七八糟的 traffic。以前没有这么多的,以前就是一个大单体,一台一台的一体机,应用在上面跑,上去的话看一下日志就完事了。
现在我们推了很多的新概念,什么云原生,各种乱七八糟的东西。实际数据就两个主要的点,一个是监控,另外一个是物联网。监控是因为现在服务的网络因为分工的微服务化变得极度复杂,所以我们会去强调应用的可观测性,这是时序数据可以发挥作用的一个点。另外一个就是物联网或者车联网,以前都不会自己产生数据,但现在接入了芯片,有一些传感器,或者说自主判断的逻辑,就会不断地产生数据,然后我们需要一些端上的分析,然后后台总部需要对所有的设备有一个总的分析。
德福:对,现在我有可以在屋里蓝牙连接的温度计,远程连接的电暖器等等,我通过自动化的算法去控制设备,放到以前没有这些设备是做不到的,这是一个新的场景。
如何去推产品相关的新概念
tison:如果在 Greptime 想要做开发者关系,或者面向用户去推一些概念的时候,我们可能还停留在探讨核心价值主张的状态。
有时候我们要讲清楚产品的价值,还有产品价值依托的概念。TiDB 现在是一个已经完成的状态了嘛,那过程当中TiDB 在推这些理念的时候,有一些什么样的模式?或者做过什么样印象深刻的事情?
霍昊:我们公司每个销售或者是售前或者东旭出去讲的时候都围绕着一个核心问题,就是帮助一些 MySQL 用户解决 MySQL 解决不了的问题。
德福:这些用户已经是存量用户吗?然后通过技术升级提供一个替代方案,也有一部分人就是有这个场景,但原来完全没有意识到需要进入到这个领域。
霍昊:对,如果他以前没有接触到这个场景,然后你要去跟他说这个场景可以这么做,用我们的数据库可以做得更好。一定要说明白这一点,demo 或者什么也好才是起作用的。
tison:我们不可能完全凭空创造一个需求,你今天能想到的东西肯定就是曾经有些东西在模拟或者在尝试解决,但我们可以提供一种新的方式,或者再把它重新提起来。借壳生蛋,以别的场景去讲你的故事。
特别想说我们做这种开源基础设施,创新没有那么快,很多时候就一直在走来回路,对吧?我们遇到了 scale 的问题,解决不了,然后就摆烂用 MapReduce 先把它绕过去,然后慢慢回到这堆 SQL 定义的东西。
所以我们的革新不会那么快,我们不一定会想着去做很突破性的东西,但是我们能够逐渐地把原来可能单机的事情重新捡起来。我们现在有了云服务,我们可以把这些数据都往云服务上面去推,然后去产生更大的数据的价值。
PingCAP 的口碑是怎么做起来的
德福:那线下还是挺重要的,是哪年开始的?
霍昊:15 年就开始了。
tison:我记得 PingCAP 有一个很有趣的早期玩法,就是 Infra Meetup,就是聚集在一间房子里对着白板写这周要做什么样的工作。然后大家都是技术背景特别硬核的人,受众不一样,而且当时对外公开,只是没有直播。
霍昊:直播习惯最近是有的,而公开这个习惯是延续现在的。当然因为疫情的原因,我们也形成了一种线上举办 meetup 的习惯,有一个叫 paper reading 的行为是一直延续下来的。我们现在也知道整个中国其实也没有那么多的人对开发一款数据库感兴趣,但也的确给 TiDB 迎来了很好的口碑。而且那么硬核的东西,每场的观看人数还是挺多的,这是挺意外的一件事情。
霍昊:然后最近几年也做了应用开发的工程师社区——APPD EV。然后我们每年都举办「Hackathon」,早期的时候我们可能会围绕着给 TiDB 贡献 feature 的主题,最近几年可能更多的想的是怎么用好数据库平台本身,比如说最近引入的向量搜索的部分。
tison:有一个比较重要的事情,就是我以前在 PingCAP 工作的时候,一个很舒服的点就是说在 PingCAP 论证一个事情是不是需要开源,不会太费劲,几个老板基本上都会认为这个事情是合理的。你需要举反例反对他,而不是说去证明为什么要这么做,这个有很大的区别。所以在 PingCAP,很多事情可以做得特别开放。
这期节目更深入地探讨了「OSS Insight」和「TiDB」是如何做好开源社区的,了解更多 Apache 基金会孵化相关请跳转上期播客。欢迎大家给我们来信交流讨论,也非常感谢大家的支持,欢迎持续关注我们的播客节目,我们将为大家带来更多更精彩的内容。





