本文约4200字,建议阅读10字 分钟 本文与大家分享开源数据库项目成长、开源社区治理、加快赋能企业的观点和见解。
近年来,随着人工智能和物联网的兴起,大数据已成为一种重要的生产数据,而时间序列数据是这个时代不可避免的热门话题。如何提高时间序列数据的利用率?如何为复杂场景提供可靠的数据库?这些都是行业必须解决的问题。
Apache IoTDB作为清华大学发起的世界领先的国际顶级开源项目,是支持物联网时间序列数据收集、存储、查询和分析的数据管理引擎。根据中国软件评估中心和中国人民大学的性能标杆测试,IoTDB性能指标明显优于当今国际最佳时序数据库系统。
IoTDB支持端-边-云一体化部署,适用于高端设备管理、工厂设备、高速网络设备等数据管理场景。目前已广泛应用于能源、电力、轨道交通、汽车网络等行业。行业需要解决的问题,IoTDB都直接面对过。
小编有幸邀请清华大学软件学院助理研究员Apache IoTDB PMC 总贡献第一 Committer乔嘉林博士将与我们分享关于开源数据库项目增长、开源社区治理、加快授权企业的观点和见解。
A:项目进入Apache将经历两个大阶段。
第一阶段是申请进入Apache孵化器。现阶段最重要的是要注意,需要在项目申请提案中进行说明,Apache该项目是否有价值,成员将根据提案判断。
判断一个项目是否有价值的主要依据是项目,对社会有价值吗?
除了判读项目的价值,成员会还要评估。Apache基金会通常会选择一个项目在每个方向孵化,如果重叠度高,可能会被拒绝接受。
在这方面,IoTDB主要解决工业物联网项目管理中遇到的问题。2011年左右,我们的实验室联系了工业物联网项目,帮助工业企业管理工程机械生成的数据。在这些数据中,时间序列数据量最大。当时,我们选择了一些开源系统来实施项目。然而,由于这些系统不是为物联网场景设计的,因此将存在性能瓶颈,包括读写速度和压缩比。最后,我们决定从零开始解决这些问题。因此,IoTDB 发起背景比较实用,解决的问题也是真正的问题,所以很容易接受。
第二阶段是在孵化器中完成项目标准化和社区建设,毕业后成为顶级项目。孵化器中的所有项目名称都是incubator一开始,项目孵化和社区建设阶段需要关注。
项目合规性包括代码中是否进行Apache协议声明是否依赖开源组件Apache协议兼容,是否符合Apache版本发布的规范等。;社区建设包括社区活动、电子邮件列表的讨论数量、是否有外部committer和PMC等。
在这方面,IoTDB我们始终以建设开源社区为目标,没有社区建设KPI,每个人都自发地希望社区发展壮大。社区欢迎外部贡献者加入IoTDB从学校实验室开始,每年都有新生入学。我们制定了社区导师计划,让已经加入社区的贡献者与新人对接。另外,在社区建设和发展的过程中,会写很多文档,这些文档也可以帮助社区新人入门。
A:大学发起的开源项目通常没有专门的社区运营商,主要是开发者或学生直接管理社区。开发者直接与用户联系,更直接地感受到产品的质量。高校也面临着人员更换频繁的问题。通常,研究生参加两年多后毕业,学生参与社区更不全职。他们通常有课程、大作业、考试和实习。但是,在某种程度上,,每个人都在业余时间参与社区,通过文档和邮件交流更为重要。
针对以上特点,在高校开发开源项目时,要多注意与社区的互动,将思路和设计理念与社区同步。同时,我们也应该注意社区项目的宣传。学生们更喜欢努力工作。他们可能做了很多好项目,但由于缺乏宣传,很少有人知道。
A:开源社区的发展变化不是一瞬间,而是平时的每一天。项目运营模式的变化主要是从进入到Apache基金会开始了。原来我们通常是几个同学讨论完就开始做的。进入Apache 之后,每次讨论都会形成文档并发送到社区。每个人都觉得没有问题,然后开始改变。我以前不注意宣传。只有实验室的学生知道我们在做什么项目,并进入Apache之后我们会举办一些会议,开始运营项目微信官方账号,组建微信群。QQ群、Slack等。
作为一个To B的项目,。贡献者也是如此,许多贡献者本身就是用户,Apache顶级项目可能是他们尝试的原因。经过评估,许多用户和企业将投入研发力量,全时参与社区。社区的工作模式也从一个组织转变为一个社区建设。社区就像一个大组织。
工业现场对系统的稳定性有很高的要求。稳定性意味着测试验证在早期阶段完成,在线性能可以与之前的测试一致,使每个人都能接受,不会有大问题。
可维护性也是稳定性的保证。在设计系统的过程中,我们增加了许多友好的操作和维护特性。接下来是性能。你可以有一般的性能。在制定计划时,你可以配备更多的硬件,但你必须有可预测性和可预测性才能继续这样做。
时间序列数据库通常在工厂或设备上运行,机器硬件配置和网络环境不如互联网场景。此外,数据负载将相对较大,负载将更加复杂,如网络波动和数据质量问题。
A:IoTDB 优势主要体现在两个方面。
第一,技术优势。我们很早就接触到了物联网场景,在做项目的过程中发现了问题。因此,我们的设计可以更好地满足物联网场景的需求,目标场景更广泛,不会对系统增加各种限制。该项目起源于清华大学,学校将继续进行科研和创新。
二是社区优势Apache在基金会的指导下,我们建立了一个更开放的社区,因此社区中有许多互联网公司时间数据库部门的开发人员。我们通常会进行非常密切的讨论和分享,这种社区氛围非常好,也会促进更多的学生参与。从长远来看,
A:我们自研了时序数据文件格式TsFile,TsFile采用了物联网数据模型,因此在数据组织和索引方面,都对时序数据更加友好和高效。此外,我们对数据库引擎的读写流程进行优化,对数据进行列式组织和处理,并为查询设计了不同粒度的预聚合信息和缓存,能够大幅提升数据查询效率。
对电厂来说,一个大型发电机组具有上万测点。传统的关系数据库中是无法存储在一个表中的,一个表通常只能存一千多个测点,手动分表会造成更多复杂性,而IoTDB的物联网数据模型能够支持任意多的测点,并且性能可以保持平稳。查询时通过多层索引来加速序列和数据的定位。
A:国外的用户,像西门子、博世,都是老牌工业企业,。
例如,他们在决策是否用IoTDB时,会先调研15种传统的实时数据库,如美国的PI system,爱默生的Delta V, 还有ABB、aspen等的技术现状和产品现状,然后将IoTDB跟这些数据库进行充分对比。
此外,还对DB-engine上20多种时序数据库做了简要对比,选择了几个做测试。他们不光看我们的测试结果,还从其他用户那里收集了PI、SQL server的测试结果进行对比,才决定用IoTDB。
总之,他们在做产品选型的时候,非常严谨,同时重点关注定位相类似的产品。在测试过程中,。
另外,,国内一些社区刷星操作等在国际用户那里加分不大。社区参与人员情况国外企业也很看重,比如社区维护者是否都是一个组织的,是否有不同国家的项目管理者等。
A:Apache IoTDB在保持着较快的迭代速度进行发展。产品层面,我们4月发布了0.13版本,新增了一元、多元序列的支持,增加了对触发器等功能的支持;增加了对连续查询、嵌套表达式等的支持;优化了数据写入的过程,提升了系统文件合并的性能;拓展了与外部系统的兼容,新增Grafana插件、REST API等。现在正在全力优化分布式版本,预计到8月份,分布式版本就可以面世了。
A:开源数据库对于中国培养数据库人才有很好的促进作用,数据库的知识大学都会讲,但大多停留在介绍如何使用SQL的层面,大家对如何做一个数据库是没什么概念的。通过参与开源项目,让大家真正感受到数据库的研发过程,有助于中国培养基础软件人才。
未来的可能会继续出现新型数据库,如近几年出现的时序、图数据库等。数据库也会更加专业,更针对某些特定领域。此外,数据库与AI、分析系统、流处理系统等的结合也是新的发展方向。
尽管最近开源数据库比较火热,但数据库是个复杂性很高的系统软件,还是有不低的门槛,要做好心理预期,参与开源数据库的开发可能不是一两周能看到效果的,从了解数据库的基本概念、使用方式,到了解其系统架构、设计理念,最后到找到一个点进行钻研优化。这个过程比较漫长,希望大家能够长期坚持,这个过程中也会感受到自己的成长。
,博士毕业于清华大学软件学院,目前在清华大学软件学院做博士后,同时也是清华大学软件学院助理研究员,Apache IoTDB PMC,公众号“铁头乔”的作者,开放原子基金会银牌讲师,获得过北京市科技进步一等奖。
研究领域为数据库方向,包括文件结构、索引、副本管理等,见证了IoTDB从发布第一个版本到毕业成为Apache基金会顶级项目的全过程。
编辑:黄继彦
校对:林亦霖