选择你喜欢的标签
我们会为你匹配适合你的网址导航

    确认 跳过

    跳过将删除所有初始化信息

    Apache IoTDB清华大学主导的Apache孵化项目

    软件 2024-10-08 07:59

    声明:该文章由作者(little_sula)发表,转载此文章须经作者同意并请附上出处(0XUCN)及本页链接。。

    IoTDB 是清华大学主导的 Apache 孵化项目,是一款聚焦工业物联网、高性能轻量级的时序数据管理系统,提供数据采集、存储、分析的功能。IoTDB 提供端云一体化的解决方案,在云端,提供高性能的数据读写以及丰富的查询能力,针对物联网场景定制高效的目录组织结构,并与 Apache Hadoop、Spark、Flink 等大数据系统无缝打通;在边缘端,提供轻量化的 TsFile 管理能力,端上的数据写到本地 TsFile,并提供一定的基础查询能力,同时支持将 TsFile 数据同步到云端。

    IoTDB 具备低存储成本、高速数据写入(百万数据点秒级写入)、快速查询(TB级数据毫秒级查询)、功能完备(数据的增删改查、丰富的聚合函数、相似性匹配)、查询分析一体化(一份数据,满足实时查询与分析挖掘)、简单易用(采用标准的 JDBC 接口、类 SQL 查询语言)等特点。

    基准测试表明IoTDB读写性能均优于现有的时序数据库InfluxDB、OpenTSDB、Cassandra以及GE的工业大数据平台Predix。根据中国软件评测中心和中国人民大学的性能对标测试,IoTDB的各项性能指标均明显优于当今国际最优的时序数据库系统。

    产品功能

    查询引擎

    IoTDB 内置查询引擎负责所有用户命令的解析、生成计划、交给对应的执行器、返回结果集。IoTDB 通过查询引擎提供了 JDBC 访问 API,简单易用。

    元数据管理

    IoTDB 的元数据模型采用树状结构组织,一个实例包含多个 Storage Group (类似于 Namespace、Database 的概念),一个 Storage Group 里包含多个 Device ,每个 Device 包含多个 Measurement , Measurement 对应的时间序列数据最终存储在 TsFile Chunk 里。另外,为了方便数据过期,每个 Stroage Group 的数据会以时间范围的形式切分存储,默认以周为单位,使用不同的目录存储。

    存储引擎

    IoTDB 存储引擎基于 LSM Tree 结构设计,写入的数据先记录 WAL,再写到内存 memtable,在后台逐步刷到磁盘 TsFile;磁盘上的 TsFile 通过一定的规则进行 Compaction,保证查询效率。

    同步工具

    IoTDB 支持在边缘侧、云端部署,通常在边缘侧采集的数据有同步到远端进一步分析处理的需求;IoTDB 提供了同步工具,支持将端/设备上的 TsFile 数据往云端同步。

    连接器

    IoTDB 支持与现有的大数据处理系统,包括 Hive、Spark 等无缝连通,IoTDB 提供了 hive-tsfile 、 spark-tsfile 、 spark-iotdb 等连接器,让 Hive、Spark 能直接访问 tsfile 格式的数据,以及访问 IoTDB 的数据。

    产品优势

    1. 针对物联网模型做了定制化,提供 JDBC 访问方式,支持边云一体化部署。

    2. 存储使用 Hadoop File system,并提供多种 connector,与现有大数据生态无缝打通。

    3. 开放的 TsFile 存储格式,设备模型简单易理解。

    IoTDB 架构图

    IoTDB 于 2017 年 1 月正式在 Github 上开放 IoTDB 底层文件存储格式 TsFile。2017年至2018年,IoTDB保持持续开发,先后发布0.3,0.4,0.5,0.6,0.7等五个版本。

    目前,IoTDB已完成与开源大数据生态(Hadoop、Spark)的集成,实现了相关的编程SDK(JDBC形式)、导入导出工具、可视化工具、命令行交互工具、数据回传工具等多项 IoTDB 辅助工具,大幅度提升了IoTDB的适应力。截止目前,IoTDB核心模块有效代码达7万余行,通过DSL语言生成代码6万余行。IoTDB代码提交更新次数超过1300次,用户反馈、建议与回复200余次。

    应用场景

    云数据管理

    在高速网络(车联网等)的场景中,安装有传感器的汽车可以以一定频率收集自身的监视信息(行驶状态等)。 通常,这些汽车设备的硬件配置有限,并且难以进行复杂的应用。 轻量级的IoTDB(IoTDB客户端)应运而生。 借助JDBC API(或MQTT),它可以使用窄带IoT或4G/5G发送数据,从而将设备和云连接在一起。

    高端设备

    在高端制造业中,有很多设备配备有传感器来收集工作状态数据,例如气象站,风力涡轮机是常见的高端设备。这些设备如果支持Java或Go(正在开发中),则可以运行TsFile在本地存储数据。通过这种方式,TsFile可以提供具有高吞吐、高压缩率和毫秒级查询延迟的数据管理功能。结合TsFile-Sync工具,可以将TsFiles同步到数据中心。

    本地控制器

    在工厂现场,LAN网络下有数十台设备。 IoTDB可以安装在工厂的本地控制器服务器上,以从这些设备接收数据。 安装有IoTDB的本地服务器(普通PC或工作站)可以使用类SQL存储和查询数据。 此外,使用TsFile-Sync工具,可以将本地控制器上的TsFile文件传输到云上安装有IoTDB实例的数据中心。

    发展历程

    • 2018年,IoTDB进入了开源孵化期。同年11月,IoTDB 成为Apache旗下孵化器项目,先后吸引了来自德国、美国、澳大利亚等国际同行关注。

    • 2019年IoTDB 实现快速成长。项目相继获得优秀大数据产品、中国优秀开源项目一等奖,并在中国工业互联网峰会作为重要成果作主题发布。

    • 2020年IoTDB 成功毕业。Apache IoTDB 升为全球顶级项目,这标志着 IoTDB 建成了全球认可的国际开源社区,并成为我国高校在Apache 社区主导的唯一孵化成功的项目。

    • 2021年IoTDB入选十三五成果。Apache IoTDB参加国家“十三五”科技创新成就展。

    相关资料

    IoTDB官方网站:http://iotdb.apache.org/zh/
    IoTDB开源地址:https://github.com/apache/iotdb

    关注我们

    [超站]友情链接:

    四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
    关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/

    图库