存储引擎基于 LSM 设计。数据首先写入内存缓冲区 memtable 中,再刷到磁盘。内存中为每个设备维护当前持久化的(包括已经落盘的和正在持久化的)最大时间戳,根据这个时间戳将数据区分为顺序数据和乱序数据,顺序和乱序数据分别交给不同的 memtable 和 TsFile 管理。

每个数据文件 TsFile 在内存中对应一个文件索引信息 TsFileResource,供查询使用。

此外,存储引擎还包括异步持久化和文件合并机制



IoTDB 存储引擎对外主要支持三种操作:数据写入、数据删除、数据读取


数据的主键为时间序列路径+时间戳,相同主键只保留最新写入的数据。

数据删除是通过记录墓碑文件的形式(打标记)完成的。

数据读取是给定查询条件,返回待查内存数据和磁盘文件路径。



  • No labels