双向奔赴!来自用户企业的他,成了时序数据库 IoTDB 新的 Committer
用户代表变身核心贡献者!
2026 年 1 月 12 日,经时序数据库 Apache IoTDB 社区投票,重庆中冶赛迪的时振宇成为 Apache IoTDB Committer。深耕数据库领域多年,兼具 IoTDB 开发者与用户双重视角的他,将如何解读 IoTDB 的技术迭代、产品化路径与开源模式?

时振宇
我是时振宇,算是数据库行业摸爬滚打多年的 “老兵” 了。我的职业生涯起步于 IBM,在那里做 DB2 数据库的研发与客户支持工作。离开 IBM 后,我加入浪潮数据库团队,2024 年底,我回到重庆中冶赛迪工作。因为工作需要深入研究与应用 IoTDB,我正式加入 IoTDB 开源社区,开始提交 PR,一步步从社区参与者成长为 Committer。
关于 Apache IoTDB
最开始你是怎么了解到 Apache IoTDB 这个项目的?
其实早在浪潮工作期间,我就已经关注到了 Apache IoTDB。当时看到两个非常具备含金量的国际数据库基准测试性能排行榜,benchANT 和 TPCx-IoT,IoTDB 在排行榜中展现出的高吞吐量、高压缩比、低查询延迟的优异成绩,让我印象非常深刻。也正是这次线上的 “初见”,让我记住了这个在时序数据库领域实力突出的开源项目。
是什么让你最终选择参与到 Apache IoTDB 这个项目中?
一方面是工作的需求,另一方面则是我个人的主动选择。从技术层面来说,IoTDB 的软件开发流程非常规范,从需求分析、架构设计,到代码编写、测试验收,每一个环节都有清晰的标准和流程。在这样一套成熟的体系下做开发,能让人少走很多弯路,心里特别踏实。
更重要的是,社区对新人的态度特别友好,不管是遇到技术难题还是协作问题,只要在社区提问,都会得到资深开发者耐心细致的解答。这种包容开放的氛围,让我决定深入参与这个项目。
在 Apache IoTDB 中主要负责哪一部分的内容?
我主要参与了下面三个模块的工作:
-
存储引擎内存表优化:对内存表的底层结构进行改造,使其支持多 TVList 模式,提升读写并发场景下的数据写入和查询吞吐量。
-
查询写回功能实现:在表模型下开发了 SELECT INTO 语法支持,可以直接将查询结果写入另一张表,无需额外编写数据导出和导入的脚本。
-
公用表表达式功能开发:实现了表模型下的 WITH CLAUSE 语法支持,允许在 SQL 语句中定义一个临时结果集合,这个集合可以在当前 SQL 语句范围内被多次引用,减少重复计算,优化查询效率。
在参与 IoTDB 项目建设的过程中,对 IoTDB 有哪些新的认识?
我认为,数据库作为支撑各行业系统运行的核心基础软件,稳定性和可靠性就是它的生命线,而这背后必须依靠一套超严苛的质量保障体系来支撑。
IoTDB 的需求文档和设计文档都做得相当扎实。需求文档里不只是简单罗列功能点,还包含大量真实的客户应用场景案例,各种参数配置和边界条件都标注得清清楚楚,让开发者能精准把握用户的真实需求。部分设计文档还会直接附上研发阶段的性能测试结果,直观展示方案的可行性和优势。
另外,IoTDB 的敏捷开发实践也远超我的预期,甚至比很多大公司做得都要到位。在原厂团队成立的公司,天谋科技的层面,产品组、研发组、测试组会形成跨团队的协同迭代流程,确保用户需求能够快速响应、高效落地。在研发组内部,也建立了 “设计文档-代码开发-自主测试” 的迭代机制,既保证了开发效率,又能牢牢守住代码质量的底线。
有什么参与贡献过程中的故事分享?
我印象最深的是公用表表达式(CTE)功能的开发经历。这个功能的初版需求很明确,就是支持 With Clause 语法,但不要求实现 CTE 物化。毕竟在业内,不少知名的数据库产品也没有支持这个特性,所以初版开发的难度不算大,大概几周时间就完成了。
但在功能评审环节,社区的几位资深开发者和同学都提出了建议,希望支持 CTE 物化功能,这样在比如复杂嵌套查询的场景中,能带来非常明显的性能提升,也更能满足用户的实际需求。实现这个功能之后,我们又进一步加入了非关联子查询常量折叠的功能,让查询逻辑更加精简高效。
这次改动让开发周期拉长了好几个月,但整个过程让我真切感受到了 Apache IoTDB 团队精益求精的产品态度。社区里的每一次功能优化,都不是为了炫技,而是实实在在冲着解决真实客户的痛点去的,从来不会无的放矢。
是什么让你能一直坚持参与 Apache IoTDB 项目,最终成为 Committer 呢?
一方面是公司的大力支持,公司鼓励我参与 IoTDB 开源项目,不仅为我提供了充足的时间和资源,还鼓励我将项目经验反哺到公司的业务实践中。
另一方面源于我个人的兴趣,我也算半个 geek,一直对数据库技术抱有浓厚的热情。IoTDB 在时序数据库领域取得的成绩让我很好奇这样一个产品的架构和技术,也很想和社区的小伙伴一起,推动这个优秀的开源项目不断向前发展。
关于开源社区
之前有过参与开源社区的经验吗?对开源/开源社区有什么新的认识吗?
我之前有过一些零散的开源社区接触经历,比如参加过 PingCAP 的开发者大会,也尝试过提交一些简单的代码。但后来因为在 IBM 的工作重点转向了非数据库领域,所以没能坚持下来,也没能成为正式的 Committer。
这次深入参与 IoTDB 开源项目,让我对开源和开源社区有了全新的、更深刻的认识。一个开源项目能够长期稳定运行,靠的从来不是某几个人的 “高光时刻”,而是一群志同道合的开发者日复一日的默默付出。开源也绝不仅仅是代码的开放,更意味着一种持续的责任与投入:要及时响应社区用户的 issue 反馈,保障大家的使用体验;要严谨细致地 review 每一份贡献 PR,守住项目的代码质量底线;还要耐心引导新贡献者融入社区,维系社区的活力与生命力。
这些工作往往琐碎且耗时,但正是这些看似平凡的付出,才构筑起了开源项目的坚实根基。
你觉得开源社区对 Apache IoTDB 的“加成”是?
我认为开源社区对 IoTDB 的 “加成” 主要体现在两个核心方面:
第一是提升产品信任度。开源模式让 IoTDB 的源码完全公开,用户和开发者可以随时查看、审计代码,直观地了解产品的技术架构和代码质量。这种透明性带来的信任度,是任何单纯的商业宣传都无法比拟的。
第二是驱动产品持续进化。开源社区就像一个 “智慧蓄水池”,不仅有全球的开发者来贡献代码、优化功能,还有大量来自不同行业的用户在实际使用中反馈真实的需求和问题。这些来自一线的声音,让 IoTDB 能精准把握行业痛点,跟着真实场景不断迭代完善,始终保持技术领先性。
有没有给想要参与 Apache IoTDB 开源社区贡献的小伙伴一点小建议?
有三个小建议:
-
从简入手,积累 PR 经验:刚入门的小伙伴,可以优先选择简单的任务作为切入点,比如小 Bug 修复、文档优化等等。这些任务既能帮助大家快速熟悉社区的协作流程和代码规范,又能积累 PR 提交经验,建立参与贡献的信心。
-
研读历史代码,学习优秀实践:社区里资深开发者的历史代码,是最好的学习教材。通过研读这些代码,可以深入理解 IoTDB 的架构设计思路、编码规范和性能优化技巧,能让自己的技术能力实现快速提升。
-
借助 AI 工具,提升贡献效率:可以合理利用 Claude Code、Cursor 等 AI 工具,辅助自己进行代码理解和测试用例编写。这些工具能有效降低贡献门槛,让你用更短的时间完成对社区的高效贡献。
成为 Committer 的感言!
我想由衷地感谢社区里每一位帮助过我的伙伴,在我从社区新人一步步成长为 Committer 的过程中,离不开大家的耐心指导和信任认可。这份荣誉,不仅是对我过去工作的肯定,更是我未来前行的动力。
接下来,我会带着这份责任,继续深耕 IoTDB 的研发工作,为项目添砖加瓦,贡献自己的一份力量。同时,我也希望更多对数据库技术、对开源项目感兴趣的小伙伴加入 IoTDB 社区。在这里,你不仅能提升技术能力,还能结识一群志同道合的伙伴,一起打造更优秀的时序数据库产品!

2026 年 1 月 12 日,经时序数据库 Apache IoTDB 社区投票,重庆中冶赛迪的时振宇成为 Apache IoTDB Committer!
浙公网安备 33010602011771号