InfluxDB
InfluxDB
背景特性
存储引擎的演进
尽管
-
版本
0.9.0 之前:基于LevelDB 的LSMTree 方案 -
版本
0.9.0 ~ 0.9.4:基于BoltDB 的mmap COW B+tree 方案 -
版本
0.9.5 ~ 1.2:基于自研的WAL + TSMFile 方案(TSMFile 方案是0.9.6 版本正式启用,0.9.5 只是提供了原型) -
版本
1.3 ~至今:基于自研的WAL + TSMFile + TSIFile 方案
-
时序数据在降采样后会存在大批量的数据删除
=> LevelDB 的LSMTree 删除代价过高。 -
单机环境存放大量数据时不能占用过多文件句柄
=> LevelDB 会随着时间增长产生大量小文件。 -
大数据场景下写吞吐量要跟得上
=> BoltDB 的B+tree 写操作吞吐量成瓶颈 -
存储需具备良好的压缩性能
=> BoltDB 不支持压缩
基于上述痛点,