前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >时序数据库 InfluxDB(二)

时序数据库 InfluxDB(二)

作者头像
凌虚
发布2020-07-17 11:36:00
1.6K0
发布2020-07-17 11:36:00
举报

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 的值来确定,对应关系如下图:

RP 策略是不可或缺的,如果未设置则会使用默认的名称为 autogen 的 RP ,它的 duration 是 infinite 也就是数据不会过期,shard group duration 是 7 天( duration 是 infinite 对应的就是 > 6 months 这一栏)。

shard group duration 设置为多久才最好?

  • 长时间范围:有利于存储更多数据,整体性能更好。
  • 短时间范围:灵活性更高,有利于删除过期数据和记录增量备份。删除过期数据是删除整个 shard group 而不是单个的 shard 。

默认配置对于大多数场景都运行的很好,然而,高吞吐量或长时间运行的实例将受益于更长的 shard group duration ,官方建议的配置如下:

其它一些需要考虑的因素:

  • shard group 应该包含最频繁查询的最长时间范围的两倍。
  • 每个 shard group 应该包含超过十万个 point 。
  • shard group 中的每个 series 应该包含超过一千个 point 。

另外,批量插入长时间范围内的大量历史数据将会一次触发大量 shard 的创建,并发访问和写入成百上千的 shard 会导致性能降低和内存耗尽,对于这种情况建议临时设置较长的 shard group duration 比如 52 周。

RP 策略可以动态调整,删除一个 RP 将会删除其下的所有数据。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Node Python Go全栈开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档