IoTDB 是清华发起自研、并在Apache社区孵化的时间序列数据库,2014年项目启动研制,2018年11月18号 IoTDB 正式进入 Apache 孵化器,成为中国高校首个进入 Apache 孵化器并毕业的国际顶级开源项目。
作为开源物联网时序数据库管理系统,Apache IoTDB旨在满足大规模物联网和工业物联网(IoT 和 IIoT)应用对数据、存储和分析的严苛要求。
近日Apache IoTDB社区官宣了新加入的PMC和Committer,云智慧智能研究院算法团队的苗红闪(Luke Miao)成为其中一名新晋Committer。
我们深知做好一个开源项目不是一件容易的事,在程序员工作强度极大的今天,可以抽出时间参与开源并为公司所用的,已然十分难得。那么本期访谈我们邀请到苗红闪,希望通过分享他的经历和故事,让读者了解参与开源背后的故事,参与开源项目的乐趣、困难以及收获。
主持人:简单介绍一下自己吧?
苗红闪:好的,我硕士毕业于北京工业大学,从事软件开发工作8年多的时间,期间做过3年的全栈开发,前段时间很荣幸被选为Apache IoTDB 开源项目的Commiter,目前就职于云智慧智能研究院算法工程一部,主要负责指标数据的存储和研发工作。
主持人:参与开源对你来说,最大的收获是什么?
苗红闪:最大收获是和社区中一群志同道合的朋友在一起分享自己的方案来解决用户实际场景中遇到的问题,同时也能在这个过程中不断的学习提升自己。尤其是在之前每隔两周的Meetup 会上大家一起讨论分享一些问题,当时有一个Improve the flush pipeline分享 ,通过具体的实验结果证实在Flush 存在一些问题同时也提出了解决方法,从中我也获益匪浅。当然了在Meetup上除了讨论技术问题还会讨论非技术的问题比如Hackthon的奖励等,拓宽了我的视野,结交了一帮有趣的朋友。
主持人:是什么契机让你开始接触Apache IoTDB的,这里面有什么故事吗?
苗红闪:云智慧智能研究院致力于打造以数据为基础,以场景为向导,以算法为支撑,面向IT运维监控、运维服务管理、IT运维可视化的一体化综合运维管理平台。
而运维平台离不开海量的指标数据的存储和处理,运维领域的指标数据本质是时序数据,如何使用最少的机器资源在高效的存、写、压缩成为了算法系统需要考虑和解决的问题。
我们在公司真实的场景下通过实验对比了几款时序数据库,在面对百万级、千万级的时间序列中,IoTDB无论在资源消耗、吞吐能力、聚合查询响应时效和自动纠错能力上有无可比拟的优势。在2021年9月,我们首次将IoTDB引入到我们算法产品,事实证明其可以完美解决我们对指标数据的存储需求。
主持人:你是如何成为Apache IoTDB Commiter的,和大家分享下经验
苗红闪:首先我的初衷是想解决公司真实场景中遇到的问题。我们日常处理超过千万级的指标数据,数据体量大、乱序到达、缺失丢点、峰谷潮、粒度不齐整、重复采集等问题在运维场景非常突出,在接触IoTDB后被其高效的性能所吸引,但由于IoTDB数据库诞生时间比较短,需要完善的地方还有很多。因此就决定在问题解决的同时,可以为IoTDB贡献云智慧的一份力量。
我还记得第一次给IoTDB做贡献,我从issue列表中领取了第一个任务:“用户在使用Mybaits 集成IoTDB的jdbc包出现问题”。也是从这个issue开始,一发不可收拾。
在跟踪定位问题时发现当时的IoTDB 的jdbc包下面的有些方法并未实现,为了能让mybatis可以正常使用,IoTDB jdbc着手基于jdbc 4.3规范来完善jdbc的功能,等jdbc完善功能告一段落后,我又开始着手准备IoTDB的REST功能模块和Grafana plugin模块等,前后共提了14个pr,贡献代码过万行。
其实这些动作都是自然而然发生的,从领取第一个任务开始,就像是埋下了孕育的种子,通过一次次“浇灌”,种子的茁壮成长给了我极大的成就感和满足感,这是我不断前行的重要动力;在这期间为了把功能和性能做的更好,不断地与社区的Commiter、Pmc等小伙伴们进行讨论和交流,大家给了很多很好的建议,这也给了我极大的帮助和鼓励。
未来我仍然会在IoTDB做出我的贡献和努力,我计划从以下四个方面出发:
- 持续迭代现有IoTDB的一些模块例如REST Service、Grafana plugin、JDBC等
- 不断完善IoTDB的生态集成如DBeaver、Grafana、Promethus等。
- 希望把公司的真实场景中遇到的一些通用问题,作为IoTDB完善的功能方向来实现。
- 未来更远的希望可以把的时间序列数据的检测、预测、多维分析等相关算法与IoTDB进行深度结合。
主持人:Apache IoTDB在云智慧都有哪些落地场景?
苗红闪:目前IoTDB在公司的DOIA(数字化运维算法平台)中作为其中的一个数据源承担着指标数据的存储,在公司真实场景中遇到的数据体量大、乱序到达、缺失丢点、峰谷潮、粒度不齐整、重复采集等这些问题,都属于时序数据库来解决的范畴,因此我们发挥时序数据库的特性,统一交由IoTDB来进行处理,减少我们在数据预处理上的工作。
主持人:现如今各大企业纷纷拥抱开源,你认为积极开源对企业有何益处?
苗红闪:是的,积极拥抱开源有诸多益处,云智慧也在积极的建设AIOps社区,开源出优秀的产品。这不只是响应国家的号召,同时也是提升企业的技术影响力的重要方式。可以从以下几个点来说吧:
(1)通过开源社区不仅能够加速解决行业遇到的难题、促进该领域技术发展,而且可以吸引到更多其他的企业、团队或个人加入进来提高了项目的创新性、延长项目的生命周期、为项目提供更多的应用场景,同时还可以借助开源社区的力量加快推进项目开发进度,减少开发成本等。
(2)企业通过拥抱开源社区可以让更多的人了解、使用和加入开源项目从而形成行业内的事实标准,有助于提高企业的声誉、品牌形象和竞争力,增加企业的招聘对人才的吸引力。
(3)企业通过开源自己的项目,可以让外界看到公司对代码质量、规范的要求以及团队真实水平,网络上一直流行一句话“技术水平好的公司不一定做开源会好,但做开源社区好的公司一定是技术好的公司”。
主持人:云智慧也在做开源社区,未来你将如何参与建设?
苗红闪:我司开源项目反响很不错,在内部群中频频收到喜报,很是自豪,同时希望我司的开源项目FlyFIsh及OMP越来越好,未来能影响更多的开发者甚至企业。未来我也将积极参与公司AIOps开源社区的主办的活动,使用AIOps开源社区的软件,提交个人使用中issue完善社区软件的功能,尽多的为社区贡献自己的一份力量,未来希望可以把公司的AIOps开源社区生态与IoTDB进行集成,同时希望更多的公司或个人关注开源,加入开源项目为开源社区贡献自己的力量。
IoTDB寄语:
感谢云智慧对IoTDB的贡献,云智慧是一个成长迅猛的优秀企业,期待未来和云智慧更深入的合作!同时要预祝云智慧AIOps开源社区茁壮成长,壮大中国开源力量!
——Apache Member, Apache IoTDB PMC Chair 黄向东
结束语:
感谢云智慧智能研究院算法团队苗红闪(Luke Miao)对本次访谈的贡献,同时也要恭喜其成为Apache IoTDB的新晋Committer!
同时云智慧AIOps社区也想呼吁广大开发者可以积极参与开源,开源不仅能获得技能上的提升,更重要的可以帮你拓宽社交圈,你可以在那里遇到一群志同道合的伙伴,你可以和世界各地大牛1对1沟通,未来你们可能是合作伙伴,甚至可能成为惺惺相惜朋友,这些更加弥足珍贵,不是吗?
云智慧AIOps社区:https://www.cloudwise.ai/
Github 地址:https://github.com/CloudWise-...
Gitee 地址:https://gitee.com/CloudWise/f...