优秀团队的“双向奔赴”:新晋 Committer 的进化之路

“优秀”与“成长”是关键词
2025 年 2 月 25 日、2 月 27 日,经 Apache IoTDB 社区投票,胡湘鹏、沈之豪成为 Apache IoTDB Committer。说起深度参与项目至今的驱动力,他们都不约而同地认可了 IoTDB 开放包容的社区文化和技术创新的热情,优秀的项目与团队让他们不断成长。今天,让我们走进他们的故事。

胡湘鹏
大家好,我是胡湘鹏,目前是清华大学软件学院的二年级研究生,主要感兴趣的方向有共识算法、分布式系统架构和高可用保障。我从 2022 年底开始参与 IoTDB 社区贡献。
关于 Apache IoTDB
最开始你是怎么了解到 Apache IoTDB 这个项目的?
本科阶段我就对分布式系统和基础软件等方向有着浓厚的兴趣。在保研阶段我了解到了清华大学软件学院的 Apache IoTDB 工业时序数据库,发现 IoTDB 致力于解决工业物联网场景复杂的数据管理问题。IoTDB 自研的分布式框架和基于物联网场景的高性能共识协议和我感兴趣的方向不谋而合,所以十分吸引我。
是什么让你最终选择参与到 Apache IoTDB 这个项目中?
首先是我感受到了 Apache IoTDB 的使命感,作为国产自研的时序数据库,它是工业物联网的基础底座,应用的场景涉及多个重点行业。这种定位既具有十足的挑战性,又承载着重要的行业价值,能参与这样一个项目让我很有成就感。
其次是 Apache IoTDB 的技术实力在时序数据库赛道遥遥领先,参与这个项目能够学习到行业前沿的技术和知识。我感兴趣的方向在 IoTDB 有了实践、落地、发挥价值的可能,所以自然而然就想参与进项目里。
在 Apache IoTDB 中主要负责哪一部分的内容?
我在 IoTDB 中主要负责共识模块和集群扩缩容技术的实现和优化。
IoTDB 共识模块基于统一的共识层框架,支持并实现了不同的共识协议算法,其中包括了基于物联网场景的 IoTConsensus 协议,它能够在保障副本最终一致性的前提下提供较高的写入性能。
而集群扩缩容是提供分布式系统 scaling 的重要基础能力,IoTDB 的横向扩展能力可以提供与节点数几乎线性的写入性能,在保障 scaling 的同时还提供了高可靠、高可用的写入服务。
在参与 IoTDB 项目建设的过程中,有哪些收获?
首先当然是代码能力和技术水平的提升,在参与很多硬核科技的研发过程中,我逐渐打磨了自己的工程能力。另外更重要的是在这段经历中结识了很多优秀的同学和老师们,他们让我知道了自己的不足并给我指明了成长的方向,真的很感谢他们。
有什么参与贡献过程中的故事分享?
印象最深刻的是一次 debug 经历,当时 IoTConsensus 协议出现了多副本数据不一致的现象。我们一开始觉得是共识协议的 bug,于是开始对多节点的日志进行分析,检查是否出现了数据漏传。日志分析结果没问题后,又开始对所有的写入 WAL 逐项对比,但还是定位不到原因。
虽然如此,大家依然没有气馁或放弃,集思广益、反复讨论的时候,灵光一现想到:既然共识协议没问题,那会不会是底层技术的问题?最后通过对存储引擎的分析,终于定位到了问题所在。
这次 debug 的过程让我深深体会到了分布式系统的复杂性,也让我对 IoTDB 的团队有了更深的认识。面对棘手的难题,没有人选择逃避,而是积极主动地投入到分析和排查工作中。大家紧密协作,不断尝试和探索,从不同的角度去思考和解决问题,这种团队协作的精神让我很感动。
是什么让你能一直坚持参与 Apache IoTDB 项目,最终成为 Committer 呢?
首先当然是兴趣,保持专注的前提是对这个方向的研究和工作感兴趣,当你享受做一件事的时候你会发现时间其实过的很快。其次是成长,在参与项目的过程中会感受到我与 IoTDB 在共同成长,我的成长变成了 IoTDB 越来越好的功能,这是一件很有成就感的事情。
关于开源社区
之前有过参与开源社区的经验吗?对开源/开源社区有什么新的认识吗?
之前虽然使用过开源平台,但是没有正式参与过开源社区。我觉得开源社区的魅力在于社区贡献者们会积极参与各项事务和方案的讨论,从许多方面提出建设性意见,是贡献者们的共同努力保障了开源社区、开源项目的发展。
你觉得开源社区对 Apache IoTDB 的“加成”是?
我觉得开源让开发流程和代码更加透明,快速又有组织性的软件迭代让 IoTDB 的进步上了“快车道”,也让新用户很容易明确产品的情况,降低了使用和学习的成本。
同时,开源也吸引了更多对 IoTDB 感兴趣的贡献者和用户,更多人的添砖加瓦让 IoTDB 能够更快地攻克技术难题,完善各项功能。可以说,开源社区对 IoTDB 成为“能用、管用、好用”软件的作用功不可没。
有没有给想要参与 Apache IoTDB 开源社区贡献的小伙伴一点小建议?
就像饺子导演所说的:“出来混最重要的是出来”,同样的,我觉得参与开源最重要的是开始。新来的小伙伴们不要害怕,大胆提问,IoTDB 社区欢迎每一位志同道合的贡献者。
成为 Committer 的感言!
参与 IoTDB 贡献的两年以后,我成为了 Committer 的现在,我依然不会忘记给 IoTDB 贡献第一个 PR 的那个遥远的下午。感谢一直没有放弃、深度参与 IoTDB 的我自己,也感谢 IoTDB 开源社区的所有小伙伴们,这真的是一个有爱的大家庭。
欢迎对 IoTDB 感兴趣的贡献者们持续加入,让我们一起为国产工业物联网基础软件领域添砖加瓦!

沈之豪
大家好,我是沈之豪,目前是清华大学软件学院研究生二年级在读。我是从 2023 年 9 月开始加入 IoTDB 社区参与贡献的。
关于 Apache IoTDB
最开始你是怎么了解到 Apache IoTDB 这个项目的?
我对数据库的计算和存储比较感兴趣,希望研究生能在顶尖的实验室从事相关的工作,所以一直在找有没有这样的机会。通过调研我了解到,清华大学软件学院黄老师组维护着一个叫做 IoTDB 的 Apache 顶级项目,跟我想尝试的领域完全匹配,所以一下对这个项目产生了浓厚的兴趣。
是什么让你最终选择参与到 Apache IoTDB 这个项目中?
清华大学有很多顶尖的实验室,和其他实验室相比,IoTDB 更偏向工程。我觉得在这个实验室干三年,我的工程能力应该会有很大的进步,能够更好地学以致用,明白怎么把技术上的研究成果实际转化成产品,这是吸引我加入的一大原因。
另外,参与 IoTDB 的开发有机会成为 Committer,如果我能坚持贡献,Committer 的成绩呈现在我的简历上绝对是一个非常重要的技术背书和成长认证。现在这个目标终于实现了呢,感谢社区的认可~
在 Apache IoTDB 中主要负责哪一部分的内容?
我在 IoTDB 中主要负责函数模块的开发和优化,具体来说就是增加新的 UDF、提升 UDF 框架性能,引入 UDAF 新特性等等。除此之外我还参与过数据库优化器以及新 SQL 语法功能的开发。
在参与 IoTDB 项目建设的过程中,有哪些收获?
参与 IoTDB 的开发,首先让我深入了解了工业领域中一个成熟的项目是如何实际应用、运营的,对数据库产品怎样攻克技术难关、实现用户需求都有了更好的理解。在经历了几次评审之后,我也变得更加重视客户的立场,能够用更全面的视角审视我的技术设计。对于还是学生的我而言,有这样的积累真的很难得。
而且,IoTDB 的团队有一群非常技术水平非常顶尖的学长,在和他们共同努力的过程中,收获的成长真的很大。无论是技术水平还是协作的方法,在他们的指导下,我的能力都在不断地提升。
有什么参与贡献过程中的故事分享?
我在开发 IoTDB 时遇到的第一个需求是给 UDF 增加批量接口。那时候我对这个项目还不够了解,不知道从哪里下手。无助的时候,田原老师和几个学长一起为我答疑解惑,耐心地给我梳理项目架构,一步步引导我思考如何完成需求。在他们的帮助下,我不仅了解了查询引擎的基本工作原理,在短时间内,甚至连需要修改哪些模块都一清二楚,最终快速地上手了 IoTDB 的开发。
在此之前,很少有人愿意不厌其烦地指导我,IoTDB 团队的积极和热情给初来乍到的我留下了深刻的印象。这种温暖也是让我持续参与社区贡献的重要原因。
是什么让你能一直坚持参与 Apache IoTDB 项目,最终成为 Committer 呢?
我觉得是传承吧。IoTDB 秉承着产学研结合的理念,在我之前已经有很多学长贡献了很多高质量的代码了,我在其中学到了很多,并将其应用到了自己的模块中。如今我也成为了别人口中的学长,我也需要留下能启发后来参与开发的同学的痕迹。正是这种传承的责任感,让我一直持续地为项目贡献思考和代码,最终成为 Committer。
关于开源社区
之前有过参与开源社区的经验吗?对开源/开源社区有什么新的认识吗?
在开发 IoTDB 项目之前,我有在 GitHub 等网站上公开自己个人项目源代码的经历,但这与真正的开源相去甚远。像 IoTDB 这种大型项目,贡献者非常多,每个人都有着不同的背景、技能和视角,这为项目带来了巨大的协作挑战,但也带来了无限的创新可能。
参与 IoTDB 后我意识到了,真正的开源不仅仅是共享源代码,更是关于如何有效地组织一个多元化的贡献者群体,共同朝着一个目标前进。正是这种基于信任、尊重和合作的精神,使得 IoTDB 能够持续发展并不断壮大。
你觉得开源社区对 Apache IoTDB 的“加成”是?
因为开源,了解到 IoTDB 的人更多了, IoTDB 的用户也更多了。这些用户在使用 IoTDB 的时候,遇到的问题和新的需求,最终都会让 IoTDB 变得更好。作为 Apache 顶级项目,IoTDB 是开源社区建设方面的财富,同时开源社区也在不断改进和增强 IoTDB。
有没有给想要参与 Apache IoTDB 开源社区贡献的小伙伴一点小建议?
对于想给 IoTDB 项目贡献的小伙伴,可以先参考 IoTDB 完备的用户手册,尝试安装、运行和使用这个项目,这样就会对它有一个基本的了解。其次,不要害怕贡献代码,虽然 IoTDB 功能丰富、代码量大,但是组织结构清晰、可读性强,其实比较容易上手修改和调试。最后,如果遇到解决不了的问题,完全可以大胆地在社区提问,总会有人很乐意回答你的问题。
成为 Committer 的感言!
成为 Apache IoTDB Committer,对我而言,不仅是一份荣誉,更是一份担当。特别感谢所有老师对我的支持和鼓励,感谢所有学长的指导和帮助。在今后的日子里,我会继续努力为 IoTDB 献计献策、添砖加瓦。
IoTDB 社区是一个充满活力的地方,无论你是开源新手还是经验丰富的贡献者,都可以加入我们,和我们一起为物联网时序数据库的未来贡献一份力量!
评论