Apache IoTDB是一个开源的物联网时间序列数据库,可用于数字孪生系统中对大量的实时数据进行存储和管理。虽然它主要侧重于数据存储,但对于数字孪生系统的构建来说,数据存储是非常重要的基础环节,因此也可以作为数字孪生开发的一部分。
Apache IoTDB 最初由清华大学软件学院团队开发。2011 年,团队在一个大规模机器数据管理项目中,发现传统的 NoSQL 在工业物联网场景中的不足,于是开始研发数据管理系统。
2016 年 3 月提出了一种针对时间序列数据的优化列状紧凑型文件存储格式 TSFile;同年 6 月,基于 TSFile 开始开发 IoTDB。2018 年,该项目进入 Apache 软件基金会孵化器;2020 年 9 月成为 Apache 顶级项目,是首个入选 Apache 的工业物联网时序数据库项目,也是首个由中国高校发起的 Apache 顶级项目。
一、主要特点
1.高通量读写:支持数百万个低功耗和智能联网设备的高速写访问以及高速的数据读取访问,能够满足物联网场景下设备数据快速写入和查询的需求。
2.高效的目录结构:可以针对时间序列数据的复杂目录,使用模糊搜索策略有效地组织来自物联网设备的复杂数据结构,方便用户对海量数据进行管理和检索。
3.丰富的查询语义:支持跨设备和传感器的时间序列数据的时间对齐,时间序列字段中的计算以及时间维度上的丰富聚合功能,为用户在数据分析和处理方面提供了强大的支持。
4.硬件成本低:具有高压缩比的磁盘存储能力,能够降低数据存储的成本。例如,将 1GB 数据存储在硬盘上的成本相对较低。
5.灵活的部署:可以为用户提供多种部署方式,包括云端的一键式安装、桌面终端工具以及云平台与本地计算机之间的数据同步工具等,满足不同用户在不同场景下的部署需求。
6.与开源生态系统的紧密集成:与 Apache Hadoop、Spark 等大数据处理框架以及 Grafana 等可视化工具