开源之夏项目全中选:时序数据库 TDengine 和两个“00后开发者”的暑期实战

又是一年开源之夏,又是一波热血代码故事!

6 月 28 日,开源之夏 2025 中选名单正式公布。在激烈的竞争中,518 位高校学生脱颖而出,正式加入这场为期三个月的开源挑战。在本次开源之夏项目中,时序数据库 TDengine 也发布了两个有趣又有挑战的项目任务,吸引到了两位充满潜力的同学报名。而他们的项目申请书也不负期待,在经历了导师、社区、组委会三轮审核后,双双通过,成功中选开源之夏 2025 项目任务。

📌 项目详情链接:

📌 中选公示名单:https://summer-ospp.ac.cn/org/projectlist

针对本次项目中选,我们也特别采访了两位同学,聊了聊为什么选择 TDengine、怎么看待这个项目、又希望收获些什么。👇一起来听听他们的回答:

Q1:你为什么选择参与“开源之夏”?

梁炫栋(TDgpt × Prophet 模型集成项目): 我选择“开源之夏”,是出于对开源技术的兴趣以及希望锻炼工程实践能力的考虑。一直以来,我都很认可开源社区“共享、协作、共创”的理念,也想通过这个机会真正参与一个有实际影响力的工程项目。此外,我希望借此提升软件工程能力与项目管理经验,为今后的实习和求职打下基础。

章子渝(TDengine 逻辑备份与恢复项目): 参与开源之夏是我综合考量后的决定。一方面,它提供了真实的业务场景,让我在本科阶段就能锻炼编程能力,尤其是数据库开发中涉及的数据存储、索引构建、事务处理等底层机制,这是课堂上难以接触的。另一方面,开源经验在求职和深造中越来越受重视,通过这个平台,我不仅能积累项目经验、了解开源社区的运作,还能结识来自各地的开发者,为未来发展打下坚实基础。

Q2:在众多项目中,为什么选择了 TDengine 的任务?

梁炫栋:我本科是人工智能专业,研究生研究方向是时间序列分析,自然对 TDengine 和 TDgpt 这类结合 AI 与数据库的产品非常感兴趣。这个项目正好需要将 Facebook 的 Prophet 模型集成进来,既能接触模型,又涉及系统对接、接口设计,是一次难得的综合挑战。

章子渝:我一直对数据库技术充满好奇,而 TDengine 作为国产开源时序数据库,有很多创新的地方,尤其是存储引擎上的创新设计和广泛的工业应用,让我想深入了解其底层原理。这次的逻辑备份项目涉及存储层、WAL 日志、一致性快照等核心机制,是非常系统且硬核的挑战。而且社区活跃、导师专业,我相信能在这里快速成长。

Q3:你对自己参与的项目任务是如何理解的?最吸引你的部分是什么?

梁炫栋:我选择的是 Prophet 模型集成项目,我对核心目标的理解是:将 Facebook Prophet 时间序列预测模型整合到 TDengine 的工具链或生态中,使用户可以基于 TDengine 存储的数据,方便地调用 Prophet 进行建模和预测。这个项目让我特别感兴趣的地方在于:如何把机器学习模型与数据库系统高效对接,包括接口设计、数据流管理等工程挑战,非常考验技术细节和整体视角。

章子渝:逻辑备份和恢复是数据库的关键功能。我理解这个项目的核心,是构建一个高效、可靠、可扩展的逻辑备份机制,支持与增量备份协同、断点续传、异常修复等高级特性。项目中吸引我的是存储引擎分层设计、WAL 与一致性快照的应用以及工程整合的挑战。具体来说,记录如何组织成块、块存储的 I/O 优化涉及数据分块与元数据管理的深入理解;WAL 在增量备份中的高效利用及一致性快照对性能的“零影响”实现,需要突破事务处理与快照时机控制的难点;而将新模块融入 TDengine 架构,也要求我在遵循规范的同时解决模块耦合与性能冲突,确保系统整体的兼容性与稳定性。

Q4:你目前有哪些初步的技术规划或设想?

梁炫栋:我计划先用 Python 封装 Prophet 的训练与预测流程,并设计命令行 + API 的双通道调用方式。文档方面,会写一个完整的使用示例教程,让用户一看就会、一试就能用。

章子渝:我会从 taosX 插件体系入手,搭建块事件拦截和位图索引原型,使用 RoaringBitmap 管理脏块状态,快速定位需备份的数据。接入 WAL 增量流,实现双流合并,确保数据备份的完整性与一致性。兼容性方面,优先适配 TDengine 2.6+ 版本,后续视项目进展逐步向下兼容。

Q5:你希望这个项目最终能达成什么目标?

梁炫栋:我希望最终能交付一个高质量、易用、真正能被社区使用的模块,顺利完成结项,同时,我也希望这个功能成为 TDengine 时序分析生态的一部分,能够真正帮助到 TDengine 的用户。

章子渝:项目的目标不仅是顺利结项,更是产出高质量、可在生产环境稳定运行的代码,提升 TDengine 逻辑备份与恢复功能的性能与可靠性。我会严格遵循软件工程流程,从需求分析、方案设计到高质量实现与全面测试,确保代码的可读性、可维护性与健壮性。同时积极参与社区交流,分享技术成果,助力 TDengine 社区发展,也为自己积累宝贵的工业级数据库开发经验。

Q6:你希望在这三个月里有哪些成长?

梁炫栋:提升 Python 工程能力,规范代码风格,熟悉开源协作流程,学会与导师、社区开发者高效配合。

章子渝:技术上,我希望这次项目能让我真正掌握时序数据库备份恢复的核心技术,学会分析和优化底层存储引擎的性能,能独立定位和解决 I/O 瓶颈,提升 C 语言开发能力。协作方面,我期待在开源社区和不同背景的开发者一起合作,提升沟通和协作能力,适应敏捷开发节奏,学会更好地分工配合、按时推进项目。在代码评审和文档撰写中,也希望能不断打磨自己的表达和整理能力,把思路讲清楚、代码写清楚。

写在最后

我们很高兴看到两位同学都怀着强烈的动机和踏实的计划,踏上这段开源之旅。这不仅是一次开发任务的挑战,更是一次与真实世界连接的机会。希望他们的热情与代码,能真正留下属于自己的印记。

👏欢迎大家持续关注梁炫栋与章子渝的项目进展,也欢迎更多开发者关注 TDengine 开源社区:https://github.com/taosdata/TDengine,在这个夏天,与我们一起打开更多可能!

关于梁炫栋

北京师范大学人工智能创新实验班本科毕业生,现为中国科学院大学空间应用工程与技术中心博士研究生,研究方向聚焦于时间序列预测、异常检测与时序大模型。在认知神经工效学研究领域积累了丰富的科研经验,作为第一作者发表多篇 SCI 论文,曾获美国大学生数学建模竞赛 H 奖、蓝桥杯广东赛区三等奖等多项竞赛荣誉。

关于章子渝

北京理工大学电子信息实验班本科生,现参与“面向孤独症亚型划分的脑龄预测”科研项目,研究方向涉及脑机接口与脑影像分析。具备扎实的数学基础和编程能力,精通 C 语言与 Python,善于中英文文献阅读与综述撰写。曾获全国英语竞赛、结构设计大赛、物理实验竞赛等多项荣誉。