Apache IoTDB 走进东南大学,深入分享项目发展历程与收获

01 把领先的数据库知识带到校园

6 月 5 日,东南大学计算机科学与工程学院、软件学院、人工智能学院主办的“拔尖领航系列活动特别策划篇-第二期”顺利开展。本次活动邀请天谋科技联合创始人、Apache IoTDB PMC 乔嘉林作为主讲人,分享了其自 2016 年参与时序数据库 IoTDB 项目至今,从高校到企业,从开源到商业化的心路历程,并详细解读了我国自研数据库成果 IoTDB 的市场定位与技术实践。

乔嘉林毕业于清华大学,目前为天谋科技(北京)有限公司联合创始人及 CTO、国际 Apache 开源软件基金会委员、Apache IoTDB 项目管理委员会成员、Apache TsFile 项目主席、中国通信学会开源技术委员会委员。主要研究领域为工业物联网数据管理、时序数据库方向,参与研发工业物联网时序数据库管理系统 IoTDB,其成为我国高校发起的首个 Apache Top-Level 项目;时序数据标准文件格式 TsFile,成为继 IoTDB 之后,时序数据领域第二个 Apache Top-Level 项目。

东南大学回顾稿图7-20240617.png

02 为何重要,如何破局

本次分享中,乔嘉林首先以车联网状态管理场景、飞机制造试飞场景、船舶远洋导航场景、核电厂、钢铁厂等工业基建建设场景为例,说明了工业实践中,为保障设备效能和生产运行安全,同时实现产能提升,收集、管理工业数据的重要性,进而引出工业设备上报的数据类型——带有时间属性的时序数据概念。

面对设备运行中即会上报的,庞大体量的时序数据,其所需要的时序数据库管理系统需要能够对接上游通过边缘网关实现的数据采集与传输,和下游的数据处理与分析功能(如大屏展示、异常告警、趋势分析等)。时序数据库管理系统自身则需要接得住大流量数据写入、存得下海量数据、查得快已有数据结果,因此对该系统提出了非常大的性能挑战。

东南大学回顾稿图1-20240617.png

在工业 4.0 的浪潮中,时序数据管理已成为全球数据库软件领域的关注重点,并衍生出专门针对时序数据进行管理的产品——时序数据库。根据数据库领域权威榜单 DB-Engines 数据,时序数据库流行度排名第二,仅次于图数据库;DB-Engines 目前收录时序数据库产品 44 个,在各类数据库产品收录数量中排名第四。

而国内工业物联网场景的时序数据管理现状,依然依赖国外软件产品居多。乔嘉林讲到了两类:工业领域的实时数据库(以 PI 系统为代表),和信息化领域的时序数据库(以 InfluxDB 为代表)。

PI 系统结合了实时系统和数据库技术,包括采集器、内存数据库+实时处理、历史数据库、组态软件等组件。它能够提供实时反馈、告警及数据访问的相关服务,但其性能无法有效支撑大体量、高并发的数据实时写入。InfluxDB 则针对时序数据特性进行了系统逻辑的重新设计,保障了读写性能,但因为只有单机版开源,面对多厂区、多终端部署需求的工业领域,能够管理的数据量依然有限,并无法提供及时的运维支持。

中国的工业物联网场景迫切需要国产自研的、更加适配的时序数据管理方案,在此背景下,时序数据库 IoTDB 结合了时序数据管理新型技术与 IoT 场景特点,自研多项核心技术,解决了现有管理方案读写性能受限、无云边协同能力、扩展不灵活、运维困难等诸多难题。IoTDB 写入、查询、压缩多指标位列国际数据库性能测试排行榜 benchANT 第一,并入选国家级规划教材《数据库系统概论(第6版)》,成为国产时序数据库走向国际的优秀代表。

东南大学回顾稿图2-20240617.png

03 找好团队,全心付出,坚持才有收获

本次分享中,乔嘉林不但为同学们介绍了时序数据管理场景和 IoTDB 诞生的背景,还生动地讲述了自己参与 IoTDB 项目研发以来的体会与收获。

乔嘉林把参与 IoTDB 的第一个阶段命名为“野蛮生长”。当时完成读研的他希望从零到一做一个完整的大型软件系统,了解这个系统所有的流程和前因后果。而他面前有两条路,一条是读硕,毕业后去做工程开发;一条是读博,据说很艰难,前路未卜。在遇到清华大学软件学院王建民教授后,他坚定了读博的选择,希望能长期参与到一件有意义的事业中,也更加确定未来无论遇到什么事情,都要以积极的心态去面对。

刚进入清华大学的大数据软件团队时感觉并不容易:“因为本科其实更多的是像理论课一样学习计算机的知识,所以进入实验室也遇到了不少困难,代码能力不高,所以当时就是一块砖,哪里需要哪里搬。”在 IoTDB 发布最早版本的时期,他作为发版经理,经常面对“发版必通宵”的魔咒,而团队成员们坚持着“bug 不过夜,一个都不能少”的原则,每一次发版都团结一致,互相协作,通宵解决问题,并最终一次次克服种种困难,使新版本顺利上线。这让他更加热爱这个团队的同时,数据库研发技术与系统设计经验也在逐步丰富。

东南大学回顾稿图3-20240617.png

在完成 IoTDB 的首个版本后,团队开始将 IoTDB 放在实际项目中进行应用检验。2017 年冬,IoTDB 投入到青海新能源大数据平台上,管理多家电力集团新能源场站设备上报的时序数据。当时,一个小小的细节问题都可能导致系统的崩溃,让团队充分体会到了保持系统稳定的重要性和难度。而因为系统只能连接内网,给团队的调试工作也带来了巨大的挑战。于是团队成员们用手机拍下屏幕日志,传回北京讨论修改,改好后再进行调试,就这样一点一点的完成了 IoTDB 第一个应用实例。

其实读博期间,乔嘉林也迷茫过,本来想开开心心做系统、带团队、做项目,但干了三年好像还是“革命尚未成功”,同学们也大多毕业离开。但是因为对 IoTDB 的热爱、对团队的认可,凭借着“不想让大家的付出白费”和“希望自己能够分担师兄压力,承上启下、带好团队”的信念,他终于等来了开源为 IoTDB 带来的柳暗花明。

2018 年,IoTDB 进入 Apache 基金会,成为了我国高校发起的第一个,也是目前唯一一个 Apache 基金会项目,国内的软件成果终于开始带来了国际化的影响力。随后,IoTDB 又需要管理上海地铁运行产生的时序数据。时间紧、任务重,团队一起用一个月的时间,将 IoTDB 的存储引擎进行重构,实现了更好的写入与内存稳定度。系统性能更好了,他又开始建设 IoTDB 的开源社区,通过个人公众号、CSDN 博客「铁头乔」写文章的方式,分享 IoTDB 的研发思路与性能成果,并成立技术交流群,聚集发掘出来的用户与贡献者,沟通需求,集中交流。

东南大学回顾稿图4-20240617.png

“分享-沟通-实践”的良性循环转起来了,除了清华实验室的项目,乔嘉林逐渐从 IoTDB 社区中找到并支持了更多的项目,也因此感受到了开源最重要的精神:“做好产品,帮助他人”。在这样的目标下,在疫情开始封控最严重的时期,他与其他团队成员远程通力合作,为大唐先一的时序数据库新版本上线持续提供了 4 个月的运维支持。这段时间非常忙碌,新功能研发、稳定性提升,他还记得那时候甚至做梦梦到了 bug 的位置并进行了修复,而他却并未气馁:“我们学软件、做软件是为了什么?不就是为了把这个软件做出来给人用吗?如果做的软件不好用,就是我们在折磨别人,只有做得好用了才产生价值。”

经历了焦虑,也经历了拼搏,IoTDB 的发展道路终于水到渠成。2020 年 9 月,IoTDB 顺利毕业成为时序数据库 Top-Level 项目,也就在这一年前后,华为、阿里、东方国信、中冶赛迪等公司相继加入 IoTDB 社区,并基于 IoTDB 研发自己的数据库产品或将 IoTDB 集成于物联网平台中。而乔嘉林也完成了基于 IoTDB 研发与应用成果的博士毕业论文,并因为对 IoTDB 深入的项目贡献与开源贡献,获得博士生国家奖学金。

IoTDB 项目的生态发展起来了,新的挑战又来到了团队面前。IoTDB 源于高校,以前主要由学生进行支持,但这也就意味着不能保证 7*24 小时的运维。对于已经应用 IoTDB 于实际业务场景的企业来说,他们迫切需要保障系统的实时稳定性,以支持他们的持续监控、告警、分析等需求。而且,随着 IoTDB 的代码量愈发庞大,理想的团队应该稳定长久,和项目一起持续成长,而对于高校而言,作为支持的主体显然也是有困难的。

面对国内、国外时序数据库竞品快速迭代的市场现状,IoTDB 核心研发成员决定成立公司,以公司为支持主体,进一步推进 IoTDB 在国内工业场景的应用。取“让时间(time)发声(echo)”之意,公司命名为天谋科技(Timecho),也代表着“成事在天,谋事在人”。目前天谋科技已获得上亿元人民币融资,并支持 IoTDB 在国家电网、国家气象局、中航成飞、中核集团、中国中车、长安汽车、金风科技等超过 1000 家企业广泛应用。

东南大学回顾稿图5-20240617.png

充分运用公司的落地应用优势与学校的精尖研发优势,IoTDB 项目的发展进入了“产学研协同”阶段。乔嘉林最后分享了 IoTDB 现在的演进模式:公司负责进行工程实践与指导,学校学生则主要参与工程研发与训练。结合双方的成果,由公司负责挖掘实际业务场景中的使用问题或痛点,然后由学生去做难点问题的突破,最后公司再将工程成果进行落地并服务用户

东南大学回顾稿图6-20240617.png

04 总结

“十年磨一剑”,IoTDB 自 2011 年发展至今,绝不是“霜刃未曾试”的软件系统成果,而是在中国的电厂、工厂中不断打磨,获得了工业界和学术界认可的国际化时序数据库。在工业数字化、服务转型升级需求愈发增长的时代背景下,IoTDB 可以为工业数据价值发掘、产业赋能提供稳定、高效的解决方案。

作为从高校走出的时序数据库项目的深度参与者,乔嘉林把 IoTDB 的研发历程、发展路径和他一路走来,从团队成员到团队核心的感想体会,完整地分享给了更多的高校同学,并详细地介绍了时序数据库领域的市场需求与行业现状,为同学们真实、深刻而有趣的呈现了“国产化浪潮下的工业时序数据库 IoTDB 自研之路”,也希望更多同学能够投入到中国数据库发展的事业中来。