InfluxDB存储引擎—— TSI文件与数据读取

本文探讨InfluxDB数据读取流程,重点在于基于内存的倒排索引和基于磁盘的倒排索引-TSI文件。TSI文件用于提升数据源维度查询效率,解决内存索引的限制。内容涵盖TSI文件结构如Measurement Block、Tag Block和Series Block的作用和详细构成。
摘要由CSDN通过智能技术生成

本篇文章暂未完成

在上一篇文章《InfluxDB存储引擎—— TSM文件与数据写入》中,对数据写入流程和数据文件的结构进行了介绍,再了解了数据写入流程和TSM文件结构之后,我们知道数据在磁盘是按时间、按数据源、按列存储的,在这样的存储结构上,读取数据的流程是怎样的呢?采用了哪些数据结构或文件来提升查询的效率呢?这就是本篇文章要讲的内容。

目录

数据读取流程

基于内存的倒排索引

作用

核心数据结构及其作用

优缺点

基于磁盘的倒排索引-TSI文件

TSI文件的作用

TSI文件的结构

Measurement Block

Tag Block

Series Block


数据读取流程

时序数据最常见的查询场景有两个:按时间维度查询 和按数据源维度查询。如何提高这两个场景的查询效率是每种时序数据库都要充分考虑的问题。

结合之前的文章中所提到的数据写入流程和存储结构,我们很容易了解到InfluxDB中,如果能根据查询条件确定数据所属的时间范围和series(即所属数据源的唯一标识),即可大量减少数据扫描的范围,从而提高性能。InfluxDB正是通过这样的方式来提高查询数据的效率。

假设在如下图的场景中,需要查询atlalsdata发布在baidu的所有广告20188月份的pc端的总点击量:

查询语句:

select sum(pc) from advertise 
where publisher=‘atlasdata’ and platform = ‘baidu’ 
and time>='2018-08-01' and time <'2018-09-01'

数据读取的流程:

第一步:找出atlasdata发布在baidu的所有广告的seriesKey</

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值