首页 > 其他分享 >从高校中走出的 Apache 顶级项目 —— IoTDB 核心成员黄向东

从高校中走出的 Apache 顶级项目 —— IoTDB 核心成员黄向东

时间:2022-11-08 17:00:45浏览次数:41  
标签:项目 高校 用户 核心成员 开源 IoTDB Apache

本期访谈嘉宾:黄向东

Apache 顶级开放源代码项目 IoTDB(物联网数据库)核心成员、2021 年开源先锋、清华大学软件学院助理研究员。

1667897411105.jpg

Q:简单介绍一下 Apache IoTDB

IoTDB (Database for Internet of Things,物联网数据库)是一体化收集、存储、管理与分析物联网时序数据的软件系统,由清华大学软件学院发起并研发,2018 年捐赠给 Apache 软件基金会,并于 2020 年毕业成为顶级项目。 IoTDB 关注的是工业物联网场景下的时序数据,这类数据近几年处于一种爆发式增长的模式,受关注度增长在 DB-Engines 数据库排名网也稳居第一。自 2016 年起,实验室投入大量研发力量,但在做的过程中发现,在产品体验、功能设计上难免与用户的实际需求有偏差,在后期的项目维护、推广上,也存在很多问题。如何解决高校和用户离得远,并把学生的创造力变成产品化的生产力,是我们 2018 年决定开源并进入 Apache 软件基金会的原因之一。此外,让全世界用户能够最简单、便捷地享受清华的科研成果对工业物联网行业带来的升级与提升,也是我们决定开源的一大因素。

Q:Apache IoTDB 目前的发展情况及后续的规划

我们通过自研底层存储文件结构、内存中的 memtable 结构、pipiline(管道式)的刷新机制,以及面向时序数据优化的 LSM 树数据结构,使 IoTDB 提供高效能写入性能。此外,针对工业用户在工业互联网场景下对时序数据的访问和分析需求,IoTDB 也提供了丰富的查询和分析的功能。 进入 Apache 之后,Christofer Dutz(Apache 2022 新任董事)帮我们做了自动化 CD(持续交付)、项目规范化 Release、静态代码检测指导等。在项目质量提升的同时,也感受到了新加入 Apache 时的项目与工业级标准化产品之间的差距。

现在,经过和其他开源项目进行深度集成,IoTDB 形成了面向物联网数据的,从数据采集、存储、管理、分析、应用的全生命周期的物联网解决方案生态,满足工业物联网领域的海量数据存储、高速数据读取和复杂数据分析需求。国内很多中字头企业都在用 IoTDB,例如中车、中核、中核电、中航成飞等,另外像德国、美国的一些工业龙头也在对 IoTDB 进行验证和使用。

目前,工业用户的应用诉求越来越多,而工业互联网场景和很多纯互联网场景存在差异。例如,工业互联网场景的参与角色跨越了端边云,端产生数据,边传输数据,云汇总全量数据。如何让端边云上的数据能协同的管理和使用起来,以及通过新的存储引擎实现新的查询架构设计让 IoTDB 的读写性能变得更高,并加强其工业语义的分析能力,这是 IoTDB 后期会继续发力的点。

Q:高校开源项目如何和产业结合落地?优势是什么?

企业做出来的开源大多来自生产实践,具有普遍性;而高校开源的出发点是其认为该技术很新颖、独创性较高,同时适用于很多用户及场景。相对而言,高校的技术创新性会更超前,对整个社会的软件技术含量有促进推动的作用,所以我非常期待高校做开源。

高校的团队做开源,首先要清楚学校的规章制度,确保知识产权合规,并且做好代码开源后持续投入时间和精力维护的准备。在国内,如果一个高校的团队有 20 个人参与到同一个项目中,便已经是一个超大的团队了,但是对于一个产品研发来讲,20 人远远不够。然而,如果你的项目有技术含量、足够 open、实用性较高,就一定会吸引新的开发者参与项目,成为项目开发的生力军,从而弥补高校团队的不足。相对应的,团队一定要在服务用户的过程中多一些耐心和决心,不能因为用户提的问题科研含量较低,就觉得在他身上花时间是浪费时间。其实,真实的用户需求一旦被引导出来,是可以帮助团队把控科研方向、寻找落地功能点、增强项目稳定性的,这种开源模式对高校来说是很好的补充。

虽然高校的团队一般都有很多渠道能够发声,包括在与国家部委合作项目中做推广宣传、参加一些较大的会议等。但即便如此,很多团队依然难以触及到大量的工业用户。但在开源模式下,因为用户会主动寻找合适的项目和技术,就恰好解决了高校如何获取用户实际需求的问题。

总之,在 IoTDB 开源的 4、5 年里,我们由衷感谢所有的 IoTDB 开源用户伴随我们一起成长。没有他们,就没有现在这个功能全面、性能优异、稳定可靠的 IoTDB。我们也期待继续为开源社区和用户们贡献更好的 IoTDB。

Q:高校如何培养开源人才?

通过开源对学生进行历练是非常好的一种模式。在整个开源过程中,学生会与不同的用户打交道。无论用户是否懂技术,这个过程都是对他们沟通能力的锻炼。此外,参与开源项目,对学生写代码的能力、用文字将自己所做之事描述清楚的能力,以及对书本上没涉及到的知识的学习吸收能力,都是一个很好的补充。

虽然深度参与开源项目会占据学生大量的时间做工程化,但学生们的实践能力可以因此得到很好的培养。等他们参与企业工作后,一就位就是老手的感觉,而不会像其他应届毕业生一样需要较长时间的培训。所以,即使仅仅从找工作的经历看,开源对学生的培养也是非常有好处的,尤其是国际化的开源社区,还会接触到一些国际用户和开发者,进一步拓宽他们的国际视野。

Q:谈谈对形容社区里的学生为“流水的兵”的看法

确实有不少学生在毕业后便离开社区了。第一,高校一届一届地培养人才,帮助他们成长为企业的中坚力量,从人才培养和社会输出角度来看,就已经形成了一个正收益。第二,离开很可能只是暂时的。随着项目的应用场景越来越多,学生在工作中可能会涉及到相关的内容,有了结合点就很容易回归。此外,那些真正对开源感兴趣、实力强的人一般最终还是会留下的,他们往往会做起项目的 Maintainer,承担起带新人和帮助项目把控质量的角色,帮助项目可持续发展。

另外,即使有学生并没有回到 IoTDB,但是如果毕业后在其他开源项目里面变成了 Committer,我们会觉得很欣慰,因为这是对学生培养的一个成功。学生能在新项目中快速成为 Committer,相信一定跟他以前参与 IoTDB、了解开源及 Apache 社区的运转模式脱不开关系。所以我觉得流水的兵,流就流吧,只要为社会创造了财富,那就是值得的。

在学校里,老师同学们在做项目或研究时会用到很多开源软件,但却很少有机会能真正参与到开源项目里。如果能参与到开源项目中,可能能为大家打开另外一扇窗,所以这里也想呼吁老师同学们参与开源、拥抱开源,为软件能有更好的发展共同努力。

Q:对在高校教育中加强开源文化建设的看法

开源热这件事确实热,但是我们学院院长曾提过一个观点是:谨防开源过热。大家到底是跟风追潮流?还是真的觉得开源协同创新是一个好的模式?是为了拿项目?还是真心认为对科研或对学生好?还是要扪心自问的。

在高校教育中加强开源文化建设,我认为这件事情很重要,但是急不来。把开源做成有深度的课程是有难度的。现在高校里真正研究开源的人并不多,如果仓促的着手教材建设,可能不是一件好事;而企业的开源经验很多,但他们对于教材应该如何编写可能没有感性的认识。因此可能需要来自多个领域的人共同合作。

我想,可能能通过以下渠道:

第一,从讲座开始,逐步形成短期课程建设;

第二,邀请企业人士为高校的学生或老师做培训和教育;

第三,实践出真知。鼓励学生在课余时间多接触和参与开源,多做实践;

第四,相关的老师也参与到一线,通过时间积累和实践积累,把自己的开源经验组织成未来的课程或者一些更体系化的东西。

Q:对开源雨林的看法及建议

孤木难成林,我觉得开源雨林的名字很好啊!开源社区也一样,一个项目靠一两个英雄是不够的;站在整个软件行业来讲,一个开源项目也是不够的,一定是多个开源项目互相促进,互相集成,共同去服务,搭建一套完整的解决方案。开源项目或者开源社区本身应该多交叉,达到1+1>2的效果,所以我觉得开源雨林不管在国内还是国际上,都能起到非常正向的促进作用,非常有意义。

标签:项目,高校,用户,核心成员,开源,IoTDB,Apache
From: https://blog.51cto.com/u_15708880/5833773

相关文章

  • apache2之http服务ubuntu
    记录apache2安装过程。1.$sudoaptinstall-yapach22.$/etc/apach2/ports.conf    Listen8001  //修改默认的端口80为80013.$/etc/apach2/sites-enabled/......
  • 【云原生】Apache Livy on k8s 讲解与实战操作
    目录一、概述二、开始编排部署1)部署包准备1)构建镜像2)创建livychart模板3)修改yaml编排4)开始部署5)测试验证6)卸载一、概述Livy是一个提供Rest接口和spark集群交互的服务。......
  • Apache Beam基本架构
    ApacheBeam主要由BeamSDK和BeamRunner两部分组成。BeamSDK定义了开发分布式数据处理程序业务逻辑的API,它描述的分布式数据处理任务Pipeline则交给具体的BeamRunner(执行......
  • 华为云 MRS 基于 Apache Hudi 极致查询优化的探索实践
    背景湖仓一体(LakeHouse)是一种新的开放式架构,它结合了数据湖和数据仓库的最佳元素,是当下大数据领域的重要发展方向。华为云早在2020年就开始着手相关技术的预研,并落地在华......
  • Apache shiro 反序列化漏洞
    Apacheshiro简介ApacheShiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从......
  • BindingException异常/SqlSessionXXX报错/org.apache.ibatis.binding.BindingExceptio
    application.yml中设置了mapper.xml的扫描路径,但是忘记了config包下面又手动写了一个SessionFactoryConfig。写这个类是因为一开始报错:SqlFactoryXXX(记不清了)的异常,后来百......
  • Linux 下安装 Apache 并进行初步配置
    实验环境:Linux5.19.13-arch1-1konsole22.08.2apache2.4.54-2一.概述ApacheHTTPServer(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用......
  • Apache(httpd)
    一、什么是Apache?     Apache(或httpd)服务,是Internet上使用最多的Web服务器技术之一,通俗来讲就是一个用于搭建网站的服务。有两个版本:http:超文本传输协议,通过......
  • 安装配置Apache
    在centos02安装DSN服务器,DNS区域名字为bdqn,Com,在DNS区域中添加www主机指向网站服务器在centos01安装Apache服务器优化Apache服务,客户端使用​​www.bdqn.com​​访问网站......
  • 使用cpolar发布树莓派网页(apache2网页的发布)
    在上篇介绍中,我们成功的在本地树莓派上建立起一个简单网页,不过在通常情况下,树莓派并不会随身携带,而是将其放在固定的地方(如家里),想要在其他地方访问到树莓派上的网页,就需要将......