当前位置: 首页 > news >正文

训练“系统级思维”,听时序数据库 IoTDB Committer 说说从设计到应用的成长

想得更长远,离应用更近

2025 年 7 月 7 日、7 月 29 日,经 Apache IoTDB 社区投票,丁宇辰、曹志佳成为时序数据库 Apache IoTDB Committer。两位来自“产”、“学”不同背景的开发者,因为社区的开放、共享而持续参与 IoTDB,在理论学习、功能设计、系统思考与应用实践中“多线并行”,实现了自己的飞跃成长。

e740114d73ee8e2d6f748611ae8618d3

丁宇辰

大家好,我是丁宇辰,目前是清华大学的二年级硕士研究生。我从 2023 年 9 月开始接触并参与 Apache IoTDB 社区,很高兴能够在这里分享我在 IoTDB 社区的成长历程。

关于 Apache IoTDB

最开始你是怎么了解到 Apache IoTDB 这个项目的?

我是在一位本科师兄的推荐下了解到 Apache IoTDB 的。当时我正在寻找一个优秀的开源数据库项目来深入学习和参与,师兄向我介绍了这个源于清华、专注于时序数据领域的 Top-Level 开源项目,我立刻产生了浓厚的兴趣。

是什么让你最终选择参与到 Apache IoTDB 这个项目中?

主要有两个原因:一是我个人对数据库系统,特别是数据库的内核实现有浓厚的兴趣;二是我非常认同开源的协作创新模式和理念。Apache IoTDB 作为一个 Top-Level 的开源项目,为我提供了一个绝佳的平台,让我能够将理论学习与工程实践相结合。

在 Apache IoTDB 中主要负责哪一部分的内容?

我主要负责 Apache IoTDB 的流处理引擎 Pipe 模块的开发和维护工作。这个模块专注于数据的实时处理和转发。在 Pipe 的基础上,我从零到一搭建了数据订阅模块,它参考了 Kafka 等消息队列产品的基本概念和逻辑,能够在简单流式获取数据的场景为用户提供更加便捷的消息订阅服务。

在参与 IoTDB 项目建设的过程中,有哪些收获?

最大的收获是对于大型复杂系统的设计和掌控能力的提升。通过深入研究和开发 IoTDB 的源代码,我不仅学会了如何设计高内聚、低耦合的功能模块,还理解了如何在庞大的代码库中进行高效的调试和问题定位,这对我个人的工程能力是极大的锻炼。

有什么参与贡献过程中的故事分享?

为了提升多版本维护的效率,我曾开发了一个能够自动将 Pull Request 从主分支 cherry-pick 到 dev/1.3 等开发分支的机器人,这个小工具减少了开发者们手动操作的繁琐和出错的可能。后来我在组内分享了这个工具,大家的认可度也很高,能为大家的研发效率提高做出一点贡献,收获“好评”,让我很有成就感。

是什么让你能一直坚持参与 Apache IoTDB 项目,最终成为 Committer 呢?

我想是开源精神的驱动。开源不仅仅是代码的开放,更是一种协作、分享和共同成长的文化。在 IoTDB 社区里,我感受到了来自开发者的热情和智慧,每一次的讨论和代码审查都让我受益匪浅。这种追求卓越、不断打磨产品的精神,是激励我持续贡献并最终成为 committer 的核心动力。

关于开源社区

之前有过参与开源社区的经验吗?对开源/开源社区有什么新的认识吗?

有的,我也是 Apache HugeGraph 的 PPMC 成员。这些开源经历让我对开源在企业运作中扮演什么角色有了更深的认识。

我认为,开源虽然不等同于商业模式,但深刻影响着商业运作。企业通过参与开源,不仅能满足自身的应用需求、降低维护成本,更能推动技术标准的形成。开源社区允许开发者自由修改和分发代码,促进了技术在更广泛场景下的创新和应用,最终也提高了整个行业的技术基准线,使用户受益。

你觉得开源社区对 Apache IoTDB 的“加成”是?

我觉得开源社区为 IoTDB 带来了“人”与“知识”两个层面的宝贵加成。它像一个巨大的人才蓄水池,吸引并培养 IoTDB 的核心开发者,保证了项目的技术传承与生命力。

同时,这些遍布全球的贡献者通过博客、教程和交流,共同构建了远超官方文档的活知识库,这不仅降低了新用户的入门门槛,也极大地提升了 IoTDB 的全球影响力。

有没有给想要参与 Apache IoTDB 开源社区贡献的小伙伴一点小建议?

结合我的经验有几点建议:

首先,从小处着手,建立信心。可以从完善文档、优化测试用例或修复一些有明确标签(如 good first issue)的问题开始,这些小任务能帮助你快速熟悉社区的协作流程。

其次,清晰沟通,充分交流。在提 Issue 或 PR 时,尽量详细地描述问题背景、复现步骤和你的解决方案思路。清晰的沟通能让社区成员更高效地理解你的工作并提供帮助。

最后,主动学习,深入思考。修复一个 Bug 时,不妨多花些时间去理解它所在的模块设计。这种由点及面的学习方式,能让你更快地成长为社区的核心贡献者。

成为 Committer 的感言!

非常荣幸能够成为 Apache IoTDB 的 Committer,衷心感谢社区对我的信任与肯定,也特别感谢一路以来各位导师和伙伴们的悉心指导与帮助!

于我而言,Committer 不仅是一份荣誉,更是一个新的起点。它意味着我将承担起更多的责任,去维护和推动这个优秀项目的持续发展。接下来,我将继续深入参与 Pipe 流处理引擎等模块的开发,致力于提升其稳定性与性能。

IoTDB 是一个充满活力和机遇的社区,在这里,你的每一行代码、每一次讨论都可能为项目带来积极的改变。真诚地欢迎更多伙伴加入我们,共同构筑下一代时序数据库的未来!

图片

曹志佳

大家好,我是曹志佳,我与 Apache IoTDB 的故事始于 2022 年。当时刚加入天谋科技,便被团队 “深耕时序数据库,推动国产工业软件发展” 的目标吸引,很快通过内部技术分享接触到 IoTDB 项目,从此开启了社区贡献之旅。

关于 Apache IoTDB

最开始你是怎么了解到 Apache IoTDB 这个项目的?

最初了解 IoTDB 是通过公司(天谋科技)内部的技术培训。记得第一次听同事介绍时,提到 IoTDB 是国产时序数据库的 “先锋”,专为工业物联网场景设计,支持 “端 - 边 - 云” 一体化数据管理,这让我对它的技术架构和应用价值产生了强烈好奇。后来通过阅读项目文档、参与社区双周会,逐渐深入认识了这个 “能解决行业痛点” 的开源项目。

是什么让你最终选择参与到 Apache IoTDB 这个项目中?

真正让我决定投入的,是一次实际参与 PR 的经历。2023 年中,我尝试修复一个 SQL 解析模块的小 bug —— 从分析问题到提交代码,社区同学的反馈速度远超预期:(侯)昊男当晚就完成了代码评审,还耐心解释了设计思路。这种 “开放包容、高效协作” 的氛围,加上看到自己的代码能直接助力用户解决问题的成就感,让我彻底 “扎根” 在了 IoTDB 社区。

在 Apache IoTDB 中主要负责哪一部分的内容?

我主要负责 IoTDB 的存储引擎研发,参与过写入流程、合并模块、写前日志等等模块的开发,同时也负责 IoTDB 在各个项目中的落地应用推进工作。

在参与 IoTDB 项目建设的过程中,有哪些收获?

最大的收获是 “从应用到系统” 的能力跃迁。以前做应用开发时,我更关注具体的功能实现;但参与数据库内核开发后,我需要考虑代码对内存、CPU 的影响,甚至要预判未来 5 年的扩展需求。这种 “系统级思维” 的训练,让我对软件工程的理解更深刻。

此外,社区里来自高校、企业的伙伴们各有所长,和他们的交流不仅提升了技术视野,更收获了珍贵的友谊。

有什么参与贡献过程中的故事分享?

让我印象最深的是 2023 年初参与的 “时序数据压缩工具”研发。当时社区收到用户反馈:工业场景下时序数据量激增,存储成本成为瓶颈。我们团队决定优化 TsFile 的压缩算法,目标是在不损失精度的前提下,将存储效率提升 20%。

研发过程中,我负责设计压缩策略的验证框架,从模拟工业传感器数据,到对比不同算法在写入、查询时的表现,前后迭代了将近 10 版方案。当看到用户反馈 “存储成本下降了 25%” 时,那种 “共同解决问题” 的成就感,比代码被合入更让我激动。

是什么让你能一直坚持参与 Apache IoTDB 项目,最终成为 Committer 呢?

一是项目的 “使命感”。IoTDB 作为国产开源时序数据库的代表,正在工业互联网领域解决 “卡脖子” 问题,能参与其中,是技术人的荣幸;

二是社区的 “温度”。无论是导师的耐心指导,还是伙伴们的互相支持,都让我感受到 “开源不是一个人的战斗”;

三是成长的 “正反馈”。每一次代码合入、每一个用户的感谢,都在提醒我:我的努力正在让这个项目变得更好。

关于开源社区

之前有过参与开源社区的经验吗?对开源/开源社区有什么新的认识吗?

加入 IoTDB 前,我更多的是开源软件的 “使用者”,但从未深度参与过社区开发。现在我意识到,开源社区不仅是代码的 “共享池”,更是一个 “技术人共学共创” 的生态。开发者、用户、企业在这里交汇,通过协作解决真实问题,这种 “开放、平等、共生” 的模式,是技术创新最有效的驱动之一。

你觉得开源社区对 Apache IoTDB 的“加成”是?

我认为开源社区是 IoTDB 的 “生命力之源”。一方面,全球开发者的参与带来了技术多样性,比如阿里、华为等企业贡献的场景化优化方案,让 IoTDB 能快速适配不同行业需求;另一方面,用户的反馈直接推动了功能迭代,社区里的每一个 issue、每一次讨论,都在帮助我们 “把问题解决在代码里”。

更重要的是,开源让 IoTDB 跳出了 “单一团队” 的局限,真正成为 “属于工业物联网领域” 的基础软件。

有没有给想要参与 Apache IoTDB 开源社区贡献的小伙伴一点小建议?

不要因为 “自己是新手” 而却步!IoTDB 社区有完善的导师计划和入门文档,遇到问题可以直接在微信群或邮件列表提问,伙伴们都会热心解答。可以从修复小 bug、优化文档开始,逐步熟悉代码逻辑,找到自己的兴趣点。记住:每一次微小的贡献,都是推动项目进步的重要力量!

成为 Committer 的感言!

成为 Apache IoTDB 的 committer,对我来说是一份 “荣誉”,更是一份 “责任”。这意味着我的工作得到了社区的认可,但更重要的是,我需要以更高的标准要求自己,为项目的发展贡献更多力量。

如果你对时序数据库、开源技术感兴趣,欢迎加入 IoTDB 社区!这里有前沿的技术挑战、温暖的伙伴支持,还有 “用代码改变工业软件生态” 的机会。无论你是学生、开发者,还是企业技术人,都能在社区找到属于自己的位置。让我们一起,让 IoTDB 成为工业物联网领域最可靠的 “数据引擎”!

http://www.hskmm.com/?act=detail&tid=16691

相关文章:

  • 关于gradle项目启动
  • Day08
  • 常见闪存区别
  • 进程、线程、协程、虚拟线程,傻傻分不清楚
  • 事倍功半是蠢蛋55 ctrl+shift+f 每次搜索都按倒繁体
  • Ini文件的读写
  • 数据跨境传输解决方案助力企业安全合规高效流通
  • 题解:P9454 [ZSHOI-R1] 巡城
  • QuestaSim奔溃后再次打开无法仿真
  • 软考架构备考-软件可靠性、知识产权和标准化
  • 医院内外网文件传输:平衡安全与效率的关键链路!
  • 我的第一个赚钱网站 -- 从网站源码到集成AdSense获利的全过程
  • Gradle读取仓库配置文件的优先级
  • opencv学习记录5
  • PCS PMA,如何理解硬核IP
  • pycharm中使用调试模式运行 uvicorn.run(app)报错TypeError: _patch_asyncio.locals.run() got an unexpected keywor解决
  • 交换机命令
  • 2025.9.25
  • 易基因:Cell Rep:华农任文凯团队利用ChIP-seq及多组学解析过敏性疾病的关键调控机制|项目文章
  • 详细介绍:STL 容器 --- list 类
  • Idea代码回退已经push到远段仓库的代码分支到指定提交记录
  • 开写第一篇
  • 大模型function calling多轮对话开发示例
  • ViTables 安装与 HDF5 数据可视化全指南 - 实践
  • elementuiplus修改el-checked多选框样式
  • DataGrip格式化SQL模板
  • 计算机毕设java毕业生档案流向追踪系统的设计与实现 基于Java的毕业生档案管理与追踪系统的设计与实现 Java技术驱动的毕业生档案流向监测架构开发
  • 图思维胜过链式思维:JGraphlet构建任务流水线的八大核心原则
  • 两月九城,纷享销客渠道携手伙伴共创CRM新纪元
  • markdown