Apache IoTDB中的底层存储引擎是否使用了其他成熟的存储引擎,如RocksDB、LevelDB或Cassandra?或者它从sratch实现了自己的存储引擎?
发布于 2021-10-06 06:40:16
Apache IoTDB实际上并不依赖于任何现有的存储引擎。实际上,它有自己的基于新开发的文件格式tsfile (与Apache Parquet相关)的数据存储实现。有关tsfile格式的更多信息可以在这里找到:http://iotdb.apache.org/SystemDesign/TsFile/Format.html
此外,对于元数据存储,Apache IoTDB依赖于其自己的已知算法/概念的实现,如BTrees、预写日志(WAL)或Raft协议(在集群模式下)。
在下图中,您可以看到取自http://iotdb.apache.org/SystemDesign/StorageEngine/StorageEngine.html的Apache IoTDB存储引擎/体系结构的草图。

TL;DR: Apache IoTDB不依赖于现有的项目,但基于用于海量数据存储的二进制文件格式,全新实现了与其存储引擎相关的所有内容。
发布于 2021-10-06 06:45:05
我们从头开始构建Apache IoTDB :)
数据文件称为TsFile (时序文件),它针对时序数据查询进行了优化。
基于TsFile构建了IoTDB引擎。
https://stackoverflow.com/questions/69459338
复制相似问题