Apache IoTDB 中的底层存储引擎是什么?

What's the underlying storage engine in Apache IoTDB?

Apache IoTDB的底层存储引擎是否使用其他成熟的存储引擎,如RocksDB、LevelDB或Cassandra?或者它从零开始实现自己的存储引擎?

Apache IoTDB 确实不依赖于任何现有的存储引擎。事实上,它有自己的数据存储实现,基于新开发的文件格式 tsfile(与 Apache Parquet 相关)。有关 tsfile 格式的更多信息,请参见此处:http://iotdb.apache.org/SystemDesign/TsFile/Format.html

同样对于元数据存储,Apache IoTDB 依赖于其自身对已知算法/概念的实现,例如 BTree、预写日志 (WAL) 或 Raft 协议(在集群模式下)。

在下图中,您可以看到来自 http://iotdb.apache.org/SystemDesign/StorageEngine/StorageEngine.html:

的 Apache IoTDB 存储引擎/架构草图

长话短说: Apache IoTDB 不依赖现有项目,而是基于二进制文件格式全新实现与它的存储引擎相关的一切,用于海量数据存储。

我们从头开始构建 Apache IoTDB :)

数据文件名为TsFile(Time series File),针对时序数据查询进行了优化

IoTDB引擎基于TsFile构建。