首页 > 数据库 > 数据库开发技术 > 时序数据库 InfluxDB(二)
相关文章:
01
—
RP
先回顾一下 RP 策略( retention policy ),它由三个部分构成:
DURATION:数据的保留时长。
REPLICATION:集群模式下数据的副本数,单节点无效。
SHARD DURATION:可选项,shard group 划分的时间范围。
前两个部分没啥好说的,而 shard duration 和 shard group 的概念你可能会感到比较陌生。
shard 是什么?
先来看数据的层次结构:

如果所示,一个 database 对应一个实际的磁盘上的文件夹,该数据库下不同的 RP 策略对应不同的文件夹。
shard group 只是一个逻辑概念,并没有实际的磁盘文件夹,shard group 包含有一个或多个 shard 。
最终的数据是存储在 shard 中的,每个 shard 也对应一个具体的磁盘文件目录,数据是按照时间范围分割存储的,shard duration 也就是划分 shard group 的时间范围(例如 shard duration 如果是一周,那么第一周的数据就会存储到一个 shard group 中,第二周的数据会存储到另外一个 shard group 中,以此类推)。
另外,每个 shard 目录下都有一个 TSM 文件(后缀名为 .tsm ),正是这个文件存储了最后编码和压缩后的数据。shard group 下的 shard 是按照 series 来划分的,每个 shard 包含一组特定的 series ,换句话说特定 shard group 中的特定 series 上的所有 points 点都存储在同一个 TSM 文件中。
02
—
shard duration
shard 从属于唯一一个 shard group ,shard duration 和 shard group duration 是同一个概念。
如前文所述,数据按照时间范围分割存储,分割的时间范围由 RP 策略中的 shard group duration 指定。
默认情况下,shard group duration 根据 RP duration 的值来确定,对应关系如下图:



原文作者:系统架构师Go;如有侵权,请联系管理员删除。