暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

开一家数据库界的海底捞 | 对话「OSS Insight」作者霍昊

GreptimeDB 2024-04-26
65



开源!开源!开源!作为开源软件的开发者,我们感觉到,开源软件需要产品化,需要让开发者和终端用户能够有直观感受,这是项目推广和开发者体验提升的重要组成部分。开源社区应该怎么做?国内从业者大多会不约而同地看齐 TiDB。TiDB 的好名声很大程度来源于社区建设的成果,我们曾听到许多工程师说 TiDB 的开发者社区体验极好。那么,到底是有多好?


OSS Insight 作为 TiDB 生态中的一个优秀项目,在提供用户价值的同时,也很好地展示了 TiDB 的能力。本期我们将站在数据库开发者的角度,聊聊如何给开发者提供更多优质的内容和极致的开发体验。


本期节目邀请到了 「OSS Insight」 的作者「霍昊」带你走进数据库的世界,聊聊业界先锋是如何探索开源社区建设的,从一个内部更深层次的视角看——社区发展和产品迭代之间的关系又是怎么样的呢?


TiDB 就像数据库界的海底捞一样,社区玩法不断推陈出新,才成为业内的标杆。让我们跟随作者的视角,看看数据库厂商里的「海底捞」为何如此受欢迎。






点击前往喜马拉雅订阅持续集成专辑
(访谈文稿内容有删减,更多精彩内容请小宇宙、喜马拉雅等各大平台收听完整音频)



内容时间线
TIMELINE
[05:02] 如何定义应用架构师

[08:10] OSS Insight 是怎么样的

[17:28] 这个 demo 的作用如何

[27:48] TiDB 为什么可以做得很成功

[36:15] 时序数据是怎样的存在

[40:14] 如何去推产品相关的新概念

[50:08] PingCAP 的口碑是怎么做起来的


投稿

如果你也是基础软件或者开源领域的从业者、爱好者,也想和我们聊聊你的经历。可以微信搜索“持续集成”,私信我们立即投稿,一起共创!


1

如何定义应用架构师


霍昊: 名字不是特别重要,在一家数据库厂商,像 SQL 现在在做应用开发,尤其是最近做 AI 的应用开发,你可以想一下他们有多少机会去考虑数据库这个层面的东西?有多长时间会直接写 SQL?很少很少,而且这个比例可能会越来越低,那这个时候你就需要数据库厂商在数据库和应用开发工程师之间去做一个桥梁如果你只是一个 hello world 级别的 demo,别人也不相信你有能力处理一些复杂的事情。

德福:所以你们做的事情就像宜家的样板间一样,对吧?


霍昊:  是的,尤其最近感受更加强烈。因为我们在往 TiDB 里面引入一个向量搜索,在公司刚传达这个决定的时候,我就想——哪怕公司现在把一个世界上性能最好的向量数据库交给用户,用户也还在观望状态,因为他可能也不知道怎么直接把 AI 场景给落地,做什么样的应用,那这时候你就应该教给他全套的东西。


德福:那你是希望帮助他直接就把相关的 AI 应用落地了吗?


霍昊:  是的,否则他只有一个数据库的话就还缺很多东西


2


OSS Insight 是怎么样的


tison:OSS Insight 很适合分享数据,前端也做得特别好,我在 Twitter 做一些数据分享的时候经常会用到。


德福:OSS Insight 放在 TiDB Cloud 开屏首页的 C 位,看得出来很重要,那项目开始的契机是什么呢?

霍昊:起因就是老板说要做一个 TiDB  的示例应用,数据库的 demo 肯定得是个应用,最好是别人日常能用上的应用。我们作为项目的承接方正好了解到网上有一个现成的 GitHub 的行为数据,那需求和数据都是现成的,我们就直接拿这份数据爬下来存在我们“号称能够无限 scale 的数据库”里。这是一个最原始的技术选型和数据选项,也是 OSS Insight 的开始。

德福:就是说你们首先有了这个技术,然后思考怎么能展示这个能力?而 demo 的核心就是能存很大的数据,然后平滑地去扩展它。


tison:  主要是知识报表,实话说做数据库的企业是很难的,因为没有合适的开放数据来展示应用的能力,但是像天气数据又只对内行人有用。像 OSS Insight 这样的看板开发者都能看得懂,因为有一个 profile 显示 star 数,显示我写了多少代码等等。


霍昊:天气数据是最容易拿到的开放数据,但对于我们数据库的目标用户完全不匹配的,GitHub 数据不一样,能和数据库的一些目标用户能够有一些交叉,不光是数据量,还包括数据本身跟用户群也是匹配的。

德福:那开始做这个事情的时候,你们有去参照什么的吗?还是完全从自身的需求出发开始做这个东西的?比如说呈现哪些指标,或者怎么去做?

霍昊:在接到需求的时候,我们只是把指标用很朴素的 UI 给画出来就已经可以了。当时可能会产出一些不好看的图,一是不好看,二是没什么意义的图,但是后面被团队里很懂开源指标的同事给修正了。


3
这个 demo 的作用如何

tison:这个 demo 有带来客户转化吗?有客户看到 OSS Insight 然后去了解 TiDB Cloud 的吗?


霍昊:那就太多了,销售同事私底下拿这个 demo 给客户讲过,可以想象一下如果你和客户单独讲分布式数据库有什么能力,你讲 Raft 的实现原理,scability 的能力和架构是怎么实现的,都很难展示它的能力,最好是放上一个你自己都会用的核心功能的应用场景就不难理解了。而且一开始的时候也会有人发 Twitter 说自己参与贡献的东西上榜了,会有一些宣传作用。


德福:上榜之后的反应一般还是比较高兴的,对吧?


霍昊:不高兴应该少吧,你如果上了一个前端 framework 的榜单,那你肯定也很高兴。我们在运营项目的过程中,可能每一周或每两周都会突然间带来一波流量,起因可能就是某个人发现有这个工具,又发现自己做的项目在某个榜单里面


tison:因为当时很新,这也是它很有传播度的一个点。另外 OSS Insight 传承了 PingCAP 的核心风格,就是很酷


德福:所以 SQL 运行什么的还停留在打工人层面,人家这个东西就已经直接是跟老板汇报的层面了,有非常炫酷的图表直接搞定决策人,而且决策人能够看得懂


tison:是比较舒服的集成。确实如此,当推给用户的时候,要考虑说他是怎么理解这项技术的


德福:因为工程师是没有表达诉求的。我本人理解了,我爽到就好了,我没有义务让你也去爽到,但是销售不是这样啊。销售必须要让我的用户知道,所以开源软件的产品呈现是很重要的。


4


TiDB 为什么可以做得很成功


tison:我经常说 TiDB 做得一件非常好的事情就是他们做 Talent Plan,然后一直在外面讲各种各样的概念。现在就是人手一个 raft,我们现在 Greptime 做数据库开发时能够找到的人才,有一些是走了 Talent Plan 路子。


德福:TiDB 第一次让我印象很深刻的点就是无限横向扩容,你只要往里存就可以了。它给了一个新概念,给我开了一个新的世界。


霍昊:别的厂商也可以用同样的技术做一款 OSS Insight,那么得加两个东西做一些分析数据库,然后还有做数据库的人。所以不光是技术的选项,也需要考虑维护成本,这些都是展示产品能力的时候需要考量的因素。而且酷必须是持续性地酷,不能只酷那么一周,它可能是一个现象级的 feature


德福:可能大家的审美在改变,一些需求也在改变,所以你要有持续运营动作。

tison:  很多时候就是深入做进去的人会觉得非常自然。


霍昊:所以要帮一些潜在的用户想好怎么用这个数据库。


5

时序数据是怎样的存在


德福:  我现在的感觉就是时序数据不是被生产出来的,它只能被采集和观测,而且它永远是以一个采样的方式被观测到的,AS自然而然地产生。比如今天这个屋子有多少度?每一个时间点上一秒,下一秒都有自己的亮度,有自己的温度,有自己的声音,如果你采样频率更高,你就可以无限去细分这件事情。所以数据有多少就在于你采集的有多少,所以它不是在记录数据,它是一个历史,是一些真实发生的事情。然后你再回放历史,分析历史,它的本质是一个史书。


tison:相当于说它不是行为数据,类似于说整个移动互联网数据暴涨的是什么呢?都是用户的行为数据。


而且这种历史我觉得有一方面可能跟 AI 发展有点关系,因为 AI 发展有一个很有趣的点就是大家不太在乎可解释性或者原因,只管把很多的数据拢在一起,把很多发生的事情拢在一起,然后我就得到了一个结果,这结果之间有相关性。那为什么今天实际数据可能更重要呢?因为我们会发现当微服务这种乱七八糟东西,这些应用上云以后上面有很多的、乱七八糟的 traffic。以前没有这么多的,以前就是一个大单体,一台一台的一体机,应用在上面跑,上去的话看一下日志就完事了。


现在我们推了很多的新概念,什么云原生,各种乱七八糟的东西。实际数据就两个主要的点,一个是监控,另外一个是物联网。监控是因为现在服务的网络因为分工的微服务化变得极度复杂,所以我们会去强调应用的可观测性,这是时序数据可以发挥作用的一个点。另外一个就是物联网或者车联网,以前都不会自己产生数据,但现在接入了芯片,有一些传感器,或者说自主判断的逻辑,就会不断地产生数据,然后我们需要一些端上的分析,然后后台总部需要对所有的设备有一个总的分析。


德福:对的,这个东西一直存在,只是原来我没有办法采集到。
tison:或者原来你的需求也没有这么强烈。
德福:需求肯定是在的。
tison:或许是以前根本没有这种设备。

德福:对,现在我有可以在屋里蓝牙连接的温度计,远程连接的电暖器等等,我通过自动化的算法去控制设备,放到以前没有这些设备是做不到的,这是一个新的场景。


6



如何去推产品相关的新概念


tison:如果在 Greptime 想要做开发者关系,或者面向用户去推一些概念的时候,我们可能还停留在探讨核心价值主张的状态。


有时候我们要讲清楚产品的价值,还有产品价值依托的概念。TiDB 现在是一个已经完成的状态了嘛,那过程当中TiDB 在推这些理念的时候,有一些什么样的模式?或者做过什么样印象深刻的事情?


霍昊:我们公司每个销售或者是售前或者东旭出去讲的时候都围绕着一个核心问题,就是帮助一些 MySQL 用户解决 MySQL 解决不了的问题


德福:这些用户已经是存量用户吗?然后通过技术升级提供一个替代方案,也有一部分人就是有这个场景,但原来完全没有意识到需要进入到这个领域。


霍昊:对,如果他以前没有接触到这个场景,然后你要去跟他说这个场景可以这么做,用我们的数据库可以做得更好。一定要说明白这一点,demo 或者什么也好才是起作用的。


tison:数据和 record,这是一个很后台、很内核的事情,那数据到底是什么数据?是什么样的用户故事?
霍昊:对,没有哪家公司是做了世界上不存在的业务,产生了世界上不存在的数据。我在做的项目就是在用一些现成的数据库和工具来完成工作。不断地产生数据的时候,一些程序异常的数据可能会存在库里面,如果用时序数据库存完之后可以告诉我,我这个东西能在哪些方面做得更好,用户就会很喜欢。

tison:我们不可能完全凭空创造一个需求,你今天能想到的东西肯定就是曾经有些东西在模拟或者在尝试解决,但我们可以提供一种新的方式,或者再把它重新提起来。借壳生蛋,以别的场景去讲你的故事。


特别想说我们做这种开源基础设施,创新没有那么快,很多时候就一直在走来回路,对吧?我们遇到了 scale 的问题,解决不了,然后就摆烂用 MapReduce 先把它绕过去,然后慢慢回到这堆 SQL 定义的东西。


所以我们的革新不会那么快,我们不一定会想着去做很突破性的东西,但是我们能够逐渐地把原来可能单机的事情重新捡起来。我们现在有了云服务,我们可以把这些数据都往云服务上面去推,然后去产生更大的数据的价值。


7



PingCAP 的口碑是怎么做起来的


霍昊:其实不一定有什么参考价值,因为在早期的时候做开源的公司没那么多,它的吸引力本身就很大。至于开发者关系,从做的第一天开始我们就是很 open 的那种,从第一天开始我们的核心产品就接受外来的 PR,最近一两年我们会把这些开发者区分成贡献者和应用开发者,一部分是往 TiDB 里面去贡献代码,一部分是做一些应用开发。早期做得好的一点是不断地去举办各种线下的 meetup,当时开源公司也很少,就一直吸引到很多人,一直办下去了。

德福:那线下还是挺重要的,是哪年开始的?


霍昊:15 年就开始了。


tison:我记得 PingCAP 有一个很有趣的早期玩法,就是 Infra Meetup,就是聚集在一间房子里对着白板写这周要做什么样的工作。然后大家都是技术背景特别硬核的人,受众不一样,而且当时对外公开,只是没有直播。


霍昊:直播习惯最近是有的,而公开这个习惯是延续现在的。当然因为疫情的原因,我们也形成了一种线上举办 meetup 的习惯,有一个叫 paper reading 的行为是一直延续下来的。我们现在也知道整个中国其实也没有那么多的人对开发一款数据库感兴趣,但也的确给 TiDB 迎来了很好的口碑。而且那么硬核的东西,每场的观看人数还是挺多的,这是挺意外的一件事情。


tison:所以感谢 PingCAP,做数据库的很多时候是因为它在前面铺了路,我们才躺平了

霍昊:然后最近几年也做了应用开发的工程师社区——APPD EV。然后我们每年都举办「Hackathon」,早期的时候我们可能会围绕着给 TiDB 贡献 feature 的主题,最近几年可能更多的想的是怎么用好数据库平台本身,比如说最近引入的向量搜索的部分。


德福:所以听下来所谓的秘诀就是真诚,就是我没有做什么很刻意的营销,其实我就是做了一些我们自己也很想做的,然后正确的事情,是工程师所喜欢的、应该做的事情。工程师很喜欢「Hackathon」,我们就去做这些东西,我们就坦诚去公布我们的计划,拉你们过来听;我们希望跟用户接触,我们就线下经常办 meetup,你们过来聊天就好。

tison:有一个比较重要的事情,就是我以前在 PingCAP 工作的时候,一个很舒服的点就是说在 PingCAP 论证一个事情是不是需要开源,不会太费劲,几个老板基本上都会认为这个事情是合理的。你需要举反例反对他,而不是说去证明为什么要这么做,这个有很大的区别。所以在 PingCAP,很多事情可以做得特别开放。


这期节目更深入地探讨了「OSS Insight」和「TiDB」是如何做好开源社区的,了解更多 Apache 基金会孵化相关请跳转上期播客。欢迎大家给我们来信交流讨论,也非常感谢大家的支持,欢迎持续关注我们的播客节目,我们将为大家带来更多更精彩的内容。


关于本期节目
主播:王德福
嘉宾:霍昊,tison
剪辑 & 运营:Beryl,文婕
封面设计:Yingnan

关于持续集成

欢迎来到“持续集成”,我们是一档专注于开源和基础设施软件领域的播客栏目。如果说大家熟知的网站和应用是信息海洋上的冰山,那我们希望通过邀请基础软件领域的从业者,来一起聊聊,更多冰山之下的那些技术,产品和一些鲜为人知的故事。

文章转载自GreptimeDB,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论