物联网设备海量数据存储(高性能轻体量物联网数据库Apache)
物联网设备海量数据存储(高性能轻体量物联网数据库Apache)丰富的查询语义Apache IoTDB可以使用模糊搜索策略针对时间序列数据的复杂目录有效地组织来自IoT设备和大量时间序列数据的复杂数据结构。高通量读写Apache IoTDB可以支持数百万个低功耗和智能联网设备的高速写访问。它还提供闪电读取访问以检索数据。高效的目录结构
Apache IoTDB概述Apache IoTDB(物联网数据库)是为时间序列数据设计的集成数据管理引擎。它为用户提供数据收集,存储和分析服务。它具有体量轻、性能高、易使用的特点,完美对接Hadoop与Spark生态,Apache IoTDB可以满足大规模数据存储,高速数据提取和复杂数据分析,因此适用于工业物联网应用中海量时间序列数据高速写入和复杂分析查询的需求。Apache IoTDB最初由清华大学软件学院的王教授团队开发。现在由Apache Software Foundation(ASF)进行孵化的项目。
在高端制造中,有许多设备配备了传感器,用于收集工作状态数据。气象站,风力涡轮机是常见的高端设备。这些设备可以运行TsFile在本地存储数据。这样,TsFile可以提供具有高吞吐量,高压缩率和毫秒查询的数据保存能力。与TsFile-Sync工具一起,TsFiles可以传输到数据中心。
除了IoTDB引擎,IoTDB还开发了一些组件来提供更好的IoT服务。以下将所有组件称为IoTDB套件,而IoTDB专门指IoTDB引擎。IoTDB套件可以在实际情况下提供一系列功能,例如数据收集,数据写入,数据存储,数据查询,数据可视化和数据分析。下图显示了IoTDB套件的所有组件带来的整体应用程序架构。
如上图所示,用户可以使用JDBC将设备上的传感器收集的时间序列数据导入本地/远程IoTDB。这些时间序列数据可以是系统状态数据(例如服务器负载和CPU内存等),消息队列数据,来自应用程序的时间序列数据或数据库中的其他时间序列数据。用户还可以将数据直接写入TsFile(本地或HDFS上)。对于写入IoTDB和本地TsFile的数据,用户可以使用TsFileSync工具将TsFile同步到HDFS,从而在Hadoop或Spark数据处理平台上执行数据处理任务,例如异常检测和机器学习,分析结果可以用相同的方式写回TsFile。此外,IoTDB和TsFile提供客户端工具,以满足用户以SQL形式,脚本形式和图形形式编写和查看数据的各种需求。
Apache IoTDB主要特点高通量读写
Apache IoTDB可以支持数百万个低功耗和智能联网设备的高速写访问。它还提供闪电读取访问以检索数据。
高效的目录结构
Apache IoTDB可以使用模糊搜索策略针对时间序列数据的复杂目录有效地组织来自IoT设备和大量时间序列数据的复杂数据结构。
丰富的查询语义
Apache IoTDB可以支持跨设备和传感器的时间序列数据的时间对齐,时间序列字段中的计算以及时间维度上的丰富聚合功能。
硬件成本低
Apache IoTDB可以达到磁盘存储的高压缩率(将1GB数据存储在硬盘上的成本不到0.23美元)。
灵活的部署
Apache IoTDB可以为用户提供云上的一键式安装工具,桌面上的终端工具以及云平台与本地计算机之间的桥接工具(数据同步工具)。
与开源生态系统的紧密集成
Apache IoTDB可以支持分析生态系统,例如Hadoop,Spark和Grafana作为可视化工具。