2

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

4

2 回答 2

2

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

数据文件称为 TsFile(时序文件),针对时序数据查询进行了优化。

IoTDB 引擎基于 TsFile 构建。

于 2021-10-06T06:45:05.283 回答
1

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 存储引擎/架构的草图:

在此处输入图像描述

TL;DR:Apache IoTDB 不依赖于现有项目,而是基于二进制文件格式实现了与其存储引擎相关的所有内容,用于海量数据存储。

于 2021-10-06T06:40:15.807 回答