You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »


背景


TsFileResource 会随着数据写入不断生成,当 TsFileResource 中的时间索引粒度较细,单个 TsFileResource 可能包含数十万设备的时间索引条目,大小可到几十M,在有限内存管理海量设备时,将 TsFileResource 全部驻留内存有 OOM 风险。


因此,TsFileResource 不能全部驻留在内存中,需要设计以下内容:


  • 将哪些 TsFileResource 放在内存里?
  • 内存中的 TsFileResource 何时踢出?
  • 查询时如何将未缓存在内存的 TsFileResource 加载进内存?


方案


目标

  • 将最近的 TsFileResource 缓存在内存,踢出老文件
  • 通过控制 TsFile 大小,减少 TsFileResource 个数
  • 通过存储组和分区名等隐含规则索引 TsFileResource,通过内存计算定位 TsFileResource,尽量不存储额外信息








  • No labels