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

news/2025/9/26 17:54:21/文章来源:https://www.cnblogs.com/apacheiotdb/p/19110669

想得更长远,离应用更近

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.mzph.cn/news/916833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【设计模式】状态模式 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Kendo UI for jQuery 2025 Q3新版亮点 - AI 智能网格与全新表单体验

Kendo UI for jQuery 2025 Q3新版亮点 - AI 智能网格与全新表单体验Telerik和Kendo UI的 2025 Q3 版本(发布于 2025 年 8 月)为开发者带来了全面升级:AI 编码助手首次在所有主要 UI 库(包括 Angular、Blazor、.NET…

网站自助建站软件可以免费做中考题的网站

进入题目页面如下 提示flag在flag.php ctrlu&#xff0c;查看源码 给出了一段PHP代码&#xff0c;进行代码审计 <?php // 检查是否开启了错误显示功能 if( !ini_get(display_errors) ) {// 如果没有开启&#xff0c;则将错误显示功能设置为开启状态ini_set(display_error…

关于gradle项目启动

关于gradle项目启动首先idea上要开启gradle,即在构建工具项中要能看到gradle,如果没有去插件中开启,可能关了。 关于加速:项目根目录下的settings.gradlepluginManagement {println "aliyun pluginManagement…

网站建设用什么网站后台编辑器无法显示

基本介绍 函数指针:指向函数的指针 与数组类似 定义 Int(*pmax)(int ,int)max; Int(*pmax)(int x,int y)max;//形参名称不重要 函数返回类型(*指针)(形参类型)函数名称; 具体案例 代码: *pmax取到函数本身 调用函数指针方式: (*pmax)(x,y); pmax(x,y);//与java中调用函数一…

青海省交通建设厅网站网站建设加关键词是什么意思

文章目录 1. 字体设置推荐2. 主题推荐3. Rainbow Brackets(彩虹括号)4. 设置背景图片 下面是我的 IDEA 主题和字体&#xff0c;它们的搭配效果如下&#xff1a; 1. 字体设置推荐 在使用 IntelliJ IDEA 进行编码和开发时&#xff0c;一个合适的字体设置可以提高你的工作效率和舒…

事倍功半是蠢蛋55 ctrl+shift+f 每次搜索都按倒繁体

如果您使用的是「微软拼音输入法」 打开 设置 > 时间和语言 > 语言和区域。 在首选语言下,点击 中文(简体,中国) 旁边的“...”按钮,选择 语言选项。 找到 微软拼音,点击其旁边的“...”按钮,选择 键盘选…

PHP 线上环境 Composer 依赖包更新部署指南-简易版 - 教程

PHP 线上环境 Composer 依赖包更新部署指南-简易版 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

完整教程:Ubuntu 安装和配置 Anaconda

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

DevExpress WPF中文教程:如何使用虚拟源将WPF数据网格绑定到任何数据源?

DevExpress WPF中文教程:如何使用虚拟源将WPF数据网格绑定到任何数据源?DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XA…

Ini文件的读写

最简单的Ini读写:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Text;namespace AuxiliaryTools {public …

网站基本模板传奇官网首页

一、学习要点 认真看书并查阅相关资料&#xff0c;掌握以下内容&#xff1a; 掌握抽象类的设计掌握接口的设计理解简单工厂设计模式理解抽象类和接口的区别掌握包装类的应用掌握对象的比较方法和比较器的使用学习使用日期操作类学习匿名内部类的使用二、作业要求 发布一篇随笔&…

数据跨境传输解决方案助力企业安全合规高效流通

数据跨境传输在当前全球化环境中显得尤为重要。为了实现高效、安全的跨境传输,企业需要依托数据跨境传输管控解决方案。这些方案不仅帮助企业遵循各国的法律法规,也能优化数据流动。在构建统一的管理平台时,企业能实…

养成合成小游戏抖音快手微信小程序看广告流量主开源 - 实践

养成合成小游戏抖音快手微信小程序看广告流量主开源 - 实践2025-09-25 10:06 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importan…

题解:P9454 [ZSHOI-R1] 巡城

题目:从 \(1\) 出发,求期望 dfn 序。\(1\) 点很特殊,先固定 \(1\) 点,发现去除 \(1\) 后是森林,而 \(1\) 把他们都连起来了。 先固定一棵树的一个根 \(rt\),思考这时 \(x\) 点的期望 dfn 序会被三种点贡献:\(rt…

QuestaSim奔溃后再次打开无法仿真

上一次意外退出后在工程目录xxx/simulation/presynth下有_lock文件,将这个手动删除后就恢复正常QuestaSim对systemverilog的支持要更好一些,比如std::randomize()随机函数,所以如果要更高语法等级的验证,使用quest…

ICPC每日 2025.9.25

ICPC每日 2025.9.25ABC414C https://atcoder.jp/contests/abc414/tasks/abc414_c 回文数预处理+10进制转换为A进制点击查看代码 #include <bits/stdc++.h>using namespace std; #define int long longint A, N, …

网站开发者模式手游传奇新开服网站

1、修改服务启动类型&#xff1b;使用命令sc&#xff0c;命令使用方法见下例&#xff1a;sc config messenger displayname "messenger" start auto说明&#xff1a;messenger:所要操作的服务名称displayname "messenger":所要操作的服务名称显示出来的名称…

松江做移动网站设计wordpress支付宝免插件

很多时候用户都会使用浏览器下载视频和文件&#xff0c;那么用户已经下载的视频要如何导出呢&#xff0c;这时候如果不知道怎么操作&#xff0c;那么就往下看下去吧&#xff0c;今天小编会与大家一起来分享一下如何将uc浏览器下载的视频导出的方法&#xff0c;其实操作下来还是…

软考架构备考-软件可靠性、知识产权和标准化

软考架构备考-软件可靠性、知识产权和标准化2分左右 1、软件可靠性:规定条件下、在规定时间内、完成规定功能。 2、软件可靠性定量描述:规定时间失效概率可靠度失效强度平均失效前时间 MTTF:平均无故障时间。平均恢…