当前位置: 首页 > news >正文

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

d6e89774194f3c75d7fe97aa95b25cb1.png

源于高校,回到高校,Apache IoTDB PMC 成员乔嘉林为同学们详细分享行业前瞻、研发历程与心得体会。

01

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

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

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

02

为何重要,如何破局

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

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

73a471ceb439ba0b61bf114c5417ed9d.png

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

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

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

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

25495c22b5a5e48cc035e49b80f787a5.png

03

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

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

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

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

9b79667b17fc755faefe6bb5e0d5048b.png

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

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

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

30a8650c18930e37b65e40d45bdf09cf.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 家企业广泛应用。

517ad01dbb2aaff2f129cae382fb0155.png

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

f81e2fe93986eea7988e0288c0dedf74.png

04

总结

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

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

f3f16c8a43eac5b4df63995a55fc483a.gif

00e04d504d98da900573c34d7c2493be.jpeg

927b6adce1b8c59755b72efe2c3a7ec0.jpeg

65d940aa2986e31c5bf50cd003dfc48f.jpeg

37bacc6acd1b15e3fa81493ed57b1626.gif

相关文章:

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

源于高校,回到高校,Apache IoTDB PMC 成员乔嘉林为同学们详细分享行业前瞻、研发历程与心得体会。 01 把领先的数据库知识带到校园 6 月 5 日,东南大学计算机科学与工程学院、软件学院、人工智能学院主办的“拔尖领航系列活动特别策划篇-第二…...

Stable Diffusion AI绘画助力建筑设计艺术创新——城市建筑设计大模型分享

大家好,我是向阳 今天我将针对建筑设计方面的AI大模型进行简单介绍,我们将通过富有想象力的关键词或结合Stable Diffusion 的ControlNet 给原本只有黑白线条的线稿变成彩色的效果图,可能你只需要短短几分钟就可以让黑白线稿变成几种甚至十几种…...

没有 ADetailer,ComfyUI 画图脸崩了怎么办?

我们都知道 SD 的 WebUI 中的面部修复神器是 ADetailer,不过它是 WebUI 的专属插件,在 ComfyUI 中是搜索不到这个插件的,但是并不代表 ComfyUI 就不能使用面部修复功能了,ComfyUI 中也是可以找到平替的。 今天我们就来讲讲在 Com…...

防爆气象仪的工作原理

TH-WFB5矿山气象传感器在矿山安全监测系统中扮演着至关重要的角色,它们能够及时发现异常情况,为矿山的安全运营提供可靠的数据支持。矿山气象传感器能够实时监测矿山环境中的风速、风向、温度、湿度和大气压力等关键气象参数。这些传感器采用先进的传感技…...

深度学习入门5——为什么神经网络可以学习?

在理解神经网络的可学习性之前,需要先从数学中的导数、数值微分、偏导数、梯度等概念入手,从而理解为什么神经网络具备学习能力。 1.数值微分的定义 先从导数出发理解什么是梯度。某一点的导数直观理解就是在该点的切线的斜率。在数学中导数表示某个瞬…...

Integer溢出问题

0. 背景 在刷 LeetCode 时,代码的执行结果与预期出现了偏差,原因是 Int 值超过了允许范围 [ − 2 31 , 2 31 − 1 ] [-2^{31},2^{31}-1 ] [−231,231−1]。工作中从来没有遇到过这种情况,之前的认知是如果 Int 中存储的值超过了允许范围也许…...

软件测试全面指南:提升软件质量的系统流程

一、引言 随着软件行业的飞速发展,确保软件质量、稳定性和用户体验已成为企业竞争的关键。本文档旨在为测试团队提供一套全面的软件测试指南,通过规范测试用例管理、功能测试、接口测试、性能测试及缺陷管理等流程,助力测试团队实现高效、系统…...

《逆贫大叔》:一部穿越时光的温情史诗

《逆贫大叔》:一部穿越时光的温情史诗 在历史的长河中,有些故事能够穿越时光的尘埃,直击人心。《逆贫大叔》就是这样一部作品,它不仅是一部电视剧,更是一段历史的缩影,一次心灵的触动。 背景设定&#xff1…...

【电机控制】FOC算法验证步骤——PWM、ADC

【电机控制】FOC算法验证步骤 文章目录 前言一、PWM——不接电机1、PWMA-H-50%2、PWMB-H-25%3、PWMC-H-0%4、PWMA-L-50%5、PWMB-L-75%6、PWMC-L-100% 二、ADC——不接电机1.电流零点稳定性、ADC读取的OFFSET2.电流钳准备3.运放电路分析1.电路OFFSET2.AOP3.采样电路的采样值范围…...

如何衡量llm 数据集的多样性

衡量大型语言模型(LLM)数据集的多样性是一个复杂的问题,因为多样性可以从多个角度来考虑。以下是一些常用的方法和指标来评估数据集的多样性: 词汇多样性: 类型-词符比(Type-Token Ratio, TTR)…...

编程天才是什么意思

编程天才是什么意思 编程天才,这个词汇似乎充满了神秘与敬畏的色彩。那么,它究竟意味着什么呢?在本文中,我们将从四个方面、五个方面、六个方面和七个方面深入探讨编程天才的内涵与外延,带您领略这一领域的独特魅力。…...

创建npm私包

参考文章: 使用双重身份验证访问 npm | npm 中文网 私有npm包的实例详解-js教程-PHP中文网 1.注册npm账号 npm官网: npm | Home 2.安装node 百度挺多的,安装完后,检查是否安装成功就行 3.写一个简单的模块 创建个文件夹&am…...

provider追加android:name的命名有哪些?

在Android中&#xff0c;为<provider>元素添加android:name属性时&#xff0c;命名应遵循Android组件的命名规范和包名的命名规范。以下是一些关于命名android:name的要点&#xff1a; 包名前缀&#xff1a;android:name属性的值通常应以包名开始&#xff0c;这是应用程序…...

长亭网络通信基础

长亭笔试之前就已经学过一遍了 这算温故而知新吧 TCP/IP 首先我在这里默写一下之前的7层和4层 应用层 应 【表示层 数据格式转换 传 【会话层 …...

hdfs源码解析之DFSClient

1、DFSClient类简介 DFSClient 是 Hadoop 分布式文件系统&#xff08;HDFS&#xff09;中的一个核心类&#xff0c;用于客户端与 HDFS 之间的交互。它提供了一组方法&#xff0c;使客户端应用程序可以方便地与 HDFS 进行通信&#xff0c;包括文件的读取、写入、创建、删除、重命…...

智能化立体仓库的种类有哪些?

在仓储运输系统中&#xff0c;自动化立体仓库可充分利用空间储存货物&#xff0c;故而也被称之为高层货架仓库。在实际应用中&#xff0c;自动化仓库系统是不需人工处理的情况下能自动存储和取出物料的系统。那么&#xff0c;智能化立体仓库的种类有哪些&#xff1f;下面就让小…...

Stable Diffusion 3 如何下载安装使用及性能优化

Stable Diffusion 3 Stable Diffusion 3&#xff08;SD3&#xff09;&#xff0c;Stability AI最新推出的Stable Diffusion模型系列&#xff0c;现在可以在Hugging Face Hub上使用&#xff0c;并且可以与Diffusers一起使用。 今天发布的模型是Stable Diffusion 3 Medium&…...

c语言操作符详解

操作符详解 正数的原码反码补码相同 负数的原码最高位数是1&#xff0c;正数为0 整数在内存中存储的是补码 负数的左移与右移&#xff0c;移的是补码&#xff0c;打印的是源码 补码-1取反就是原码。 左移有乘2的效果 左移和右移只针对整数。 vs里的右移操作赋采用的是算数右…...

【耐水好】强耐水UV胶水它的粘接强度和普通UV胶水比如何呢

【耐水好】强耐水UV胶水它的粘接强度和普通UV胶水比如何呢 强耐水UV胶水的粘接强度与普通UV胶水相比&#xff0c;具有显著的优势。以下是详细的比较和归纳&#xff1a; 固化方式&#xff1a; 两者都是通过紫外线&#xff08;UV&#xff09;照射进行固化&#xff0c;但强耐水UV…...

jumpserver堡垒机集群搭建

1、环境 操作系统&#xff1a;龙蜥os 7.9 firewall-cmd --permanent --zonepublic --remove-servicessh firewall-cmd --permanent --zonepublic --add-rich-rulerule familyipv4 source address10.90.101.1 port port22 protocoltcp accept firewall-cmd --reload2、安装NFS…...

Termius for Mac/Win:跨平台多协议远程管理利器

Termius for Mac/Win是一款备受瞩目的跨平台多协议远程管理软件&#xff0c;以其卓越的性能、丰富的功能和便捷的操作体验&#xff0c;赢得了广大用户的青睐。无论是在企业IT管理、系统维护&#xff0c;还是个人远程连接、文件传输等方面&#xff0c;Termius都展现出了出色的实…...

Unity OpenCVForUnity 安装和第二个案例详解 <二>

目录 一、前言 二、场景介绍 1.WebCamTextureToMatExample脚本 2.FpsMonitor脚本 三、 结构体Scaler 四、找到相机并使用 1.相机的启用 2.格式转换 a.把webCamTexture转换成Mat b.把Mat转换成Texture2D 五、脚本组合 六、作者的碎碎念 一、前言 第二个案例&#xf…...

Lua实现自定义函数面向对象编程

本文目录 1、引言2、原理3、实例4、层析验证 文章对应视频教程&#xff1a; 暂无&#xff0c;可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在现代软件开发中&#xff0c;面向对象编程&#xff08;OOP&#xff09;已经成为一种广泛使用的编程范式…...

docker安装消息队列mq中的rabbit服务

在现代化的分布式系统中&#xff0c;消息队列&#xff08;Message Queue, MQ&#xff09;已经成为了一种不可或缺的组件。RabbitMQ作为一款高性能、开源的消息队列软件&#xff0c;因其高可用性、可扩展性和易用性而广受欢迎。本文将详细介绍如何在Docker环境中安装RabbitMQ服务…...

OpenAI新模型发布,免费开放GPT-4o!但只开放一点点...

GPT-4o 中的“o”代表“omni”——指的是 GPT-4o 的多模态。 该模型将向免费客户开放&#xff0c;这意味着任何人都可以通过 ChatGPT 访问 OpenAI 最先进的技术。 GPT-4o 是 OpenAI 昨天晚上发布的新旗舰模型&#xff0c;可以实时推理音频、视觉和文本。 据官方介绍&#xff0…...

idea的右边栏maven不见了(丢了)解决方案以及idea无法识别maven项目

前言 众所周知&#xff0c;idea是java开发中不可缺少的利器&#xff0c;但是由于功能过多&#xff0c;导致奇怪的问题也很多 问题汇总 idea的右边栏maven丢了 idea无法识别maven项目 对应的解决办法 idea的右边栏maven丢了 原因可能是被自己手动移除了 或者 项目没被正确…...

等待 chrome.storage.local.get() 完成

chrome.storage.local.get() 获取存储处理并计数&#xff0c;内部计数正常&#xff0c;外部使用始终为0&#xff0c;百思不得其解。 如何在继续执行之前等待异步chrome.storage.local.get()完成-腾讯云开发者社区-腾讯云 (tencent.com) 原来我忽略了异步问题&#xff0c;最简…...

004 AOP使用

文章目录 基于AspectJ的AOP的使用添加依赖编写目标类和目标方法使用XML实现实现步骤切入点表达式通知类型 使用注解实现实现步骤环绕通知注解配置定义通用切入点 纯注解方式 基于AspectJ的AOP的使用 其实就是指的SpringAspectJ整合&#xff0c;不过Spring已经将AspectJ收录到自…...

Zookeeper 集群广播事务性能如何保证?

Zookeeper 集群广播事务性能如何保证? zookeeper是如何保证广播事务时,从开始到多数节点确认事务这个高效的? 在 Zookeeper 中,确保广播事务从开始到多数节点确认的高效性至关重要。Zookeeper 通过以下几个关键机制 和优化策略来实现这一目标: ZAB 协议(Zookeeper Atom…...

【vue解决el-input组件自动填充用户名密码】

解决el-input组件自动填充用户名密码 发现用autocomplete"off"并不能解决el-input组件自动填充密码的问题。 解决方法 auto-complete"new-password" 在el-input组件添加auto-complete"new-password" 即可...

机械网站模板/有什么平台可以发布推广信息

我以前进入嵌入式开发都是在Windows上通过Keil和IAR等IDE开进行的。为了更深入的学习和了解mcu的程序编译过程&#xff0c;决心要将mcu的开发工作转到Linux环境下进行。由于有一些工作还需要在Windows下进行&#xff0c;所以只能在Windows环境下来搭建Linux开发环境。以前都是通…...

北京app外包/seo建站是什么

在python中用到pow函数&#xff0c;一般都是求数值的三次方&#xff0c; pow(x,y)----->其意思是数字x的y次方 例如&#xff1a;pow(5,3)------>表示5的三次方&#xff0c;其结果为&#xff1a;555...

怎么做一淘宝客网站/武汉做seo

问题现象&#xff1a; 问题原因&#xff1a;是InitCC32.exe没有权限。 问题处理&#xff1a;在DELPHI7的安装目录里设置用户权限&#xff0c;加入EVE... 这个用户。转载于:https://www.cnblogs.com/FKdelphi/p/4653897.html...

做网站需要拉多大的宽带/新乡seo顾问

当前的魔兽世界正运行着8.3版本&#xff0c;如果你没有拉下版本进度&#xff0c;那么本周你身上的披风等级应为15级&#xff0c;与此同时&#xff0c;还将在15级原属性基础上额外加持“3”点的腐蚀抗性。正式服的伙伴都应知道&#xff0c;魔兽世界正式服最高等级为120级&#x…...

镇海企业建站/360推广登陆

来自对https://jalammar.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-attention/的笔记 注意力机制核心观点就是让RNN每一步都监视一个更大的信息集合并从中挑选信息。例如&#xff1a;如果你使用RNN去为一个图像生成注释&#xff0c;…...

东营百姓网/郑州seo顾问

NFS高可用介绍1、NFS高可用生成业务需求在企业实际生产应用场景中&#xff0c;NFS网络文件存储系统是中小型企业最常用的存储架构解决方案之一。该架构方案部署简单&#xff0c;维护方便&#xff0c;并且只需要通过配置Inotify&#xff08;rsyncinotify&#xff09;简单而高效的…...