IoTDB 是一个用于管理大量时间序列数据的数据库,它采用了列式存储、数据编码、预计算和索引技术,具有类 SQL 的接口,可支持每秒每节点写入数百万数据点,可以秒级获得超过数万亿个数据点的查询结果。它还可以很容易地与 Apache Hadoop、MapReduce 和 Apache Spark 集成以进行分析。
iotdb 存储能力
0.12及以前版本:1G内存管理15万条时间序列
1个存储组管理不超过 50 万条时间序列
iotdb 的优势
我根据官方文档提出了iotdb相对其他时序数据库的一些主要优势:
schema
IoTDB:IoTDB 提出了一种 基于树的 schema (opens new window)。这和其它时间序列数据库很不一样。这种 schema 有以下优点:
- 在许多工业场景里,设备管理是有层次的,而不是扁平的。因此我们认为基于树的 schema 比基于 tag-value 的 schema更好。
- 在许多现实应用中,tag 的名字是不变的。例如:风力发电机制造商总是用风机所在的国家、所属的风场以及在风场中的 ID来标识一个风机,因此,一个4层高的树(“root.the-country-name.the-farm-name.the-id”)来表示就足矣。你不需要重复告诉IoTDB”树的第二层是国家名”、“树的第三层是风场名“等等这种信息。
- 这样的基于路径的时间序列 ID定义还能够支持灵活的查询,例如:”root..a.b.“,其中、*是一个通配符。