转自 PowerData 官方,原稿撰写者:PD 韩立
专栏导语
从具有深远意义的伟大的 GNU 计划伊始,开源事业便如同星星之火,以燎原之势在科技领域不断发展壮大。在这一波澜壮阔的发展历程中,其中涌现出了诸多家喻户晓的开源人物,他们宛如璀璨的星辰,各自凭借着精湛独特的自身的技能,坚定不移地推动着开源事业向着更高、更远的方向大步迈进。此外,还有众多如同繁星般在开源社区中默默耕耘的开发者们,他们有的像是专注于特定领域的专家,精心钻研特定领域的开源项目开发,为这些领域带来了前所未有的创新和突破;有的则像是勤劳的守护者,积极参与开源项目的维护和改进,为开源项目的稳定运行保驾护航。正是这些开源人物们齐心协力,以自己的满腔热血和专业技能,编织了一张紧密而又充满活力的开源之网,持续不断地拓展着开源事业那广袤无垠的边界,让开源事业在人类科技发展的长河中熠熠生辉。
我们希望通过《开源人物》这一栏目,能够搭建一个连接开源爱好者、贡献者和领导者的平台,让更多人了解开源文化,参与开源项目,共同推动开源生态的发展。
本期人物
IoTDB 开源社区 PMC — 乔嘉林,江湖人称铁头乔。天谋科技联合创始人 & CTO、Apache IoTDB PMC 及初创成员、清华大学博士、中国通信学会开源技术专委会委员、学术秘书。从头参与建设物联网时序数据管理领域的首个 Apache 顶级项目 Apache IoTDB,及第二个顶级项目 TsFile。获 Apache Member(Apache 基金会委员)、中国开源先锋人物、清华大学水木学者、开放原子基金会银牌讲师,并作为 10 位基础软件的领军人物之一,荣获 2023 优秀软件工程师。相关成果获北京市科技进步奖一等奖。
IoTDB 源于清华大学团队成员参与国家 863 计划的课题,2011 年在课题中尝试使用开源技术管理海量机器数据,发现了现有时序数据管理技术的瓶颈并确定研发方向。
2015 年,团队成员正式启动“清华 IoTDB”研制,并发布了第一个版本,标志着从技术原型向软件产品迈进,并在国家重点研发计划支持下开始在金风科技等企业进行技术验证。
2018 年,经 Apache 软件基金会公开投票,IoTDB 正式成为 Apache 旗下孵化器项目,成为我国高校目前唯一主导发起的 Apache 项目,吸引了来自德国、美国、澳大利亚等国际开源与物联网界人士的关注并参与指导孵化,并于 2020 年毕业成为 Apache 软件基金会的全球顶级项目(TLP)。
在项目良性发展的背景下,天谋科技于 2021 年成立,旨在继续参与开源社区建设的同时,为全球用户提供更专业、更稳定的技术服务与时序数据解决方案。
踏上开源之路
PowerData:乔老师,您当初是如何踏上开源之路的?
乔嘉林:我在 2016 年到清华大学读博士,师从团队带头人王建民教授,也开始了我的博士生涯。我们从数据库最底层的文件格式开始研究,在 2016 年开发出了首个高压缩时序数据标准文件格式 TsFile,并在此基础上继续研发时序数据库 IoTDB。
随着国家对开源模式的鼓励支持,同时学习国外 Berkeley、MIT 等大学的成功经验,团队向学校科研院申报,也获得了学校领导的支持,要在国际上建设中国的技术影响力,于是团队将项目开源到了 Apache 软件基金会,成为了第一个国内高校主导的 Apache 顶级项目。
作为项目的初始贡献者,在项目进入 Apache 基金会时,也成为了项目管理委员会成员 PMC,开始踏上了开源之路。
IoTDB 项目“简史”
PowerData:IoTDB 项目是如何成长起来的呢?
乔嘉林:在 Apache 社区项目导师的指导下,我对如何建设一个好的开源社区的理解也在不断深入,从单纯的公开代码,到建设一个开源社区还是有不少事情要走。但是总结起来也简单,核心就是两件事,一个是吸引用户,一个是吸引贡献者。
吸引用吸引用户需要我们建设好用户手册、使用教程,让用户用得好。所以我开始写一些技术博客和教程,并且创建了公众号和微信群,让大家能找到我们进行技术交流。在这个过程中,会有社区用户希望在他们的项目实际使用中得到一些技术支持,对于这种情况,我们的策略是积极响应,不管是使用答疑、系统运维、bug 反馈、性能优化等,都第一时间解决。很多用户也成为了 IoTDB 的粉丝,帮忙进行宣传推广。
就这样,通过开源社区接触到了很多国内的工业用户,覆盖电厂、钢铁厂、化工厂、轨道交通等各行各业。虽然当时我们大部分人还是学生,但是通过开源,我们已经服务了数十家工业企业,收获了很多用户的好评和鼓励,也深刻感受到了我们所做的数据库是如何为我国的工业用户解决痛点问题的。
吸引贡献者方面,就是让开发者能参与进来,尤其是一款数据库系统软件,上手开发的难度是比较大的,这里就需要有良好的设计文档,找到适合上手的任务,充分的沟通。在这个过程中,我们组织了 PMC 零距离等活动,一对一进行交流,只有充分交流,大家才能成为一个开发团队。
在 IoTDB 的分布式研发方面,华为、用友、阿里、东方国信、360、京东等多家企业,都有团队和我们一起联合研发,大家在不同的模块进行分工协作,在短短半年时间就完成了从单机架构到分布式架构的设计和初版开发。
也是在这个过程中,IoTDB 社区凝聚了一批核心成员,大家热衷于 IoTDB 的演进和推广,IoTDB 成为了社区的纽带,而我也希望能让 IoTDB 能够长期为社区服务,因此选择了创业这条路。
维护开放社区
PowerData:如何更好地收集和响应社区对于项目发展的各种需求和建议?在确定项目的发展方向和功能规划时,社区的声音在其中占据怎样的权重?
乔嘉林:IoTDB 的核心代码均开源,可以说,80% 的迭代都是为了满足社区用户需求,包括功能迭代、性能提升等。我们有专人在用户群进行技术支持,把用户的问题进行汇总记录,对于用户广泛关心的功能,会进行场景需求的详细挖掘。理清需求是数据库应该支持的功能,同时应该实现在数据库上层应用的逻辑,也帮助用户在使用时具备良好的理念。
产学研融合
PowerData:作为在清华发起的开源项目,学校对 IoTDB 投入了哪些支持?
乔嘉林:通常学校是很少做这种大型系统软件的,而清华软院的教学理念是“做能用、管用、好用的软件”,希望让大家在真刀真枪的实践中学习软件技术,IoTDB 就是在数据库方向上的一个完美战场。学校的投入主要有 2 个方面:
• 人力投入:有长期稳定的教师和研究生队伍、数据库技术专家、工程师进行参与。
• 场景投入:除开源外,学校和行业龙头企业进行联合研发,为 IoTDB 提供真实场景、需求,以及公司化团队的加入,如华为、中冶赛迪、东方国信等。
好用的软件一方面靠设计,一方面靠场景打磨,学校也是在这两个方面进行持续投入,才孕育出了这样一个系统。
深化高校力量
PowerData:IoTDB 社区是如何驱动大学生们来参与开源贡献的?
乔嘉林:IoTDB 在去年作为时序数据库的典型代表进入了国家级规划教材《数据库系统概论(第六版)》,大学生在课堂上就能够了解到 IoTDB 的技术架构和设计理念。从而找到 IoTDB 的社区进行参与。此外,IoTDB 广泛参与 Apache 开源年会、中国开源年会、开源之夏等大型开源活动,宣传开源理念和时序数据库技术。
高标准持续前行
PowerData:在项目发展以及开源商业化的过程中,清华的背书给 IoTDB 带来了哪些加成?
乔嘉林:我在入学后听到过一个故事《北京密云水库,是 60 年前清华大学水利系学生的毕业设计作品》,印象很深刻。
清华作为我国的顶尖学府,除培养人才外,也在为社会各行各业的发展做出落地贡献。因此,作为发源自清华的 IoTDB,自然也承担了大家的高预期和严要求,也让我们始终记住行胜于言,多做少说,优先把产品做好的理念。
“物联网原生”数据库
PowerData:您认为工业大数据处理的特点是什么,针对于其他行业有什么不同,以及 IoTDB 做了哪些对应的优化?
乔嘉林:相比于传统关系数据库的场景,工业大数据具备几个特点:
• 超高产生速度,且数据几乎不修改,每个数据点都是对客观世界某个时刻的真实反应:IoTDB 为时序数据场景设计了高性能的数据库引擎,采用列式存储、高效压缩等,能够提供千万级每秒的读写速度。
• 文件和数据库同等重要,工业领域广泛使用文件进行数据存储和迁移:我们设计了可独立使用的列式存储时序数据文件格式 TsFile,能够在单个文件中高效管理海量时间序列,无需考虑不同序列采集频率不同的问题。并且 IoTDB 底层数据文件格式也使用 TsFile。
• 数据的采集、处理、分析会跨越端边云,需要进行数据的高效迁移:TsFile 和 IoTDB 采用了可插拔架构,类似 U 盘和电脑的模式,无需对数据进行重复读写,仅通过索引即可完成文件的装卸,将数据文件从数据库中彻底解放出来,将数据迁移发挥到极致。
• 工业不同场景对时序数据的应用不同,使用模式也不同,需要不同的视图:IoTDB 提供了面向监控领域的测点管理模型,近期也提供了面向分析场景的设备管理模型,一份数据,通过不同视角进行使用和分析,打通 OT、IT 间的数据共享。
保障开源安全
PowerData:在各类开源软件盛行的今天,关于开源技术安全的问题您是如何看待的,在这方面 IoTDB 社区做了哪些工作?
乔嘉林:开源软件的流行和广泛使用,依赖其良好设计的开源协议,IoTDB 作为 Apache 基金会的一员,采用商业友好的 Apache License 2.0。在 Apache 基金会的规范下,对代码质量、软件依赖和漏洞进行了严格的管理。
迈向国际化建设
PowerData:如今国内一些开源软件都在针对海外市场采取一些动作,那 IoTDB 社区在国际化建设这块儿目前开展的怎么样呢?
乔嘉林:IoTDB 作为 Apache 基金会的顶级项目,借助 Apache 社区的影响力和背书,吸引了国际参与者的加入。我们的社区汇聚了来自世界各地的开发者,他们带来了多元化的视角和宝贵的经验,这些国际参与者的加入不仅丰富了社区的多样性,也极大地推动了 IoTDB 在全球范围内的成长与发展。
未来规划
PowerData:IoTDB 在一位位开源贡献者的灌溉下,从一颗小树幼苗茁壮成长为参天大树,对于 IoTDB 未来的发展,社区有哪些规划?
乔嘉林:IoTDB 会继续加强生态建设和分析能力,让数据的导入和分析更加便捷。此外,会加强时序文件 TsFile 的建设和推广,能够深入端、汇入云,成为未来时序数据管理的基础支撑。
作为一个高校发布并成长为 Apache 基金会顶级开源项目,IoTDB 为国内高校在开源教育方面树立了一个典范。它不仅展示了高校在前沿技术研发领域的深厚潜力与卓越实力,更彰显了学术研究成果向实际生产力转化的高效路径。其成功激励着更多高校科研团队积极投身于开源项目的探索与实践,鼓励师生们突破传统学术研究的局限,将目光聚焦于具有广泛应用前景和社会影响力的技术创新。
乔老师作为该项目的 PMC,从技术创新贡献到社区运营发展,每一步他都参与其中。如今 IoTDB 正以其优越的性能逐步占领时序数据库的市场,让我们拭目以待,乔老师带着他的产品征服工业互联网的数据吧。