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

Compare with Current View Page History

« Previous Version 3 Next »

场景与目标

本设计解决的目标场景:

(1)时间序列条数多(亿级)

(2)每条时间序列写入负载平均(极端场景,此场景下缓存最易失效)


痛点问题

参考调研文档时序数据库数据文件存储结构调研中的定量分析部分,可知当前文件格式每一个chunk和page都存储了统计信息和header,而在海量时间序列场景下,每条时间序列每次刷盘的数据不超过10个点,也就是一个page中有10个点,每个chunk中只有一个page。在这种情况下,数据点少时统计信息加速效果不大,统计信息和header占用了过多空间,存在空间冗余。


概要设计


去除统计信息


Page和Chunk合并


实验

实验场景

模拟海量时间序列一次刷盘1%的数据量,即100万时间序列,其中有1万个设备,每个设备下有100个工况,每条时间序列写10个点,生成tsfile

每条时间序列的类型为long,编码算法为RLE,压缩算法为SNAPPY

去除统计信息前后文件大小比较

文件部分 / 文件所含内容原始文件仅保留起止时间统计信息去除全部统计信息
数据区(Timeseries metadata之前的部分)126.24 MB126.24 MB126.24 MB
元数据区(Timeseries metadata之后的部分)79.17 MB38.17 MB22.17 MB
总大小205.41 MB164.41 MB148.41 MB
总大小比例100 %80.04 %72.25 %

Page和Chunk合并后文件大小比较


去除统计信息及PageChunk合并前后文件大小比较


实验源码

  • No labels