极致性能大揭秘(之一)!CirroData-TimeS时序数据库的文件存储格式

本文深入探讨了CirroData-TimeS时序数据库的文件存储格式,包括时序数据的特征、行存与列存的优缺点,以及为什么时序数据更适合列式存储。TsFile作为CirroData-TimeS的数据文件存储格式,通过设备、指标和时间的组织方式,以及细致的索引结构,实现高效的读写性能和存储效率。
摘要由CSDN通过智能技术生成

在上一篇《如何应对物联网时代数据爆炸式增长? CirroData-TimeS时序数据库来了!》中,我们介绍了超高性能时序数据库CirroData-TimeS的数据建模方式和性能。CirroData-TimeS在插入性能、查询性能,以及压缩比测试中都远超InfluxDB,而其所支持的分布式时序数据库在具备高可用性的同时,性能仍能达到单机性能的80%,完全能够应对物联网大爆发的数据场景需求。
本篇将揭示CirroData-TimeS极致性能背后的核心技术之一:文件存储格式。


一、时序数据的特征

时序数据具有如下特征:

  • 数据是时序的,即一定带有时间戳。
    由于时序数据是某个测点,或是某个事件源持续不断的产生的,产生数据的时间点对于追溯、分析这个时间下测点,事件的状态非常重要,所以时序数据一般都带有时间戳,这个是时序数据最大的特征。
  • 按时间范围读取
    通常来说,一般不会关心某个特定点的数据,而且关注一段时间的数据,关注这段时间之内的数据的走势。
  • 聚合查询价值高
    用户会对某段时间之内某些测点的一些聚合值感兴趣,比如count、avg、max、last_value、first_value等。
  • 时间序列多大千万级甚至亿级别
    由于入网设备的增多,测点数量增加,时间序列就会越来越多,如何管理和存储这些时间序列元信息,也是将要面临的挑战。
  • 数据量大,存储成本高
    由于测点数据是不间断持续写入的,随着入网设备逐渐增加,数据量将会越来越大,会占用大量的磁盘空间,这就要求时序数据库具有较高的压缩比,能够节省磁盘空间。


二、文件存储方式

文件存储格式主要有两类:行存和列存。
假设有如下数据。

在这里插入图片描述

1、行存

行存如下图所示:

  • 每行数据连续存储
  • 行和行之间顺序存储
  • 典型的代表有Apache Avro
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值