当前位置: 首页 > 后端技术 > Node.js

时序数据库InfluxDB(二)

时间:2023-04-03 15:21:07 Node.js

相关文章:时序数据库InfluxDB(一)时序数据库InfluxDB(二)时序数据库InfluxDB(三)时序数据库InfluxDB(四)时序数据库InfluxDB(五)时序数据库数据库InfluxDB(六)RP先回顾一下RP策略(retentionpolicy),它由三部分组成:DURATION:数据的保留时间。REPLICATION:集群模式下数据的副本数,单节点无效。SHARDDURATION:可选,时间范围除以分片组。前两部分没什么好说的,shardduration和shardgroup的概念大家可能觉得比较陌生。什么是碎片?首先看数据的层次结构:如图所示,一个数据库对应磁盘上的一个实际文件夹,数据库下不同的RP策略对应不同的文件夹。分片组只是一个逻辑概念,并没有实际的磁盘文件夹。一个分片组包含一个或多个分片。最终数据存储在分片中。每个分片也对应一个特定的磁盘文件目录。数据按时间范围划分存储。第一周的数据将存储在一个分片组中,第二周的数据将存储在另一个分片组中,依此类推)。另外,每个shard目录下都有一个tsm文件(后缀.tsm),就是这个文件存放了最终编码压缩后的数据。分片组下的分片按系列划分,每个分片包含一组特定的系列。换句话说,特定分片组中特定系列的所有点都存储在同一个TSM文件中。sharddurationshard只属于一个shardgroup,shardduration和shardgroupduration是同一个概念。如前所述,数据存储在一个分割时间范围内,分割时间范围由RP策略中的shardgroupduration指定。默认情况下,分片组持续时间根据RP持续时间的值确定。对应关系如下:RP策略不可或缺。如果未设置,将使用名为autogen的默认RP。它的持续时间是无限的,也就是data是不会过期的,分片组持续时间是7天(duration是无限的,对应>6个月)。设置shardgroupduration的最佳时间是多长?长期范围:有利于存储更多数据和更好的整体性能。时间短:更灵活,适合删除过期数据和记录增量备份。删除过期数据意味着删除整个分片组而不是单个分片。默认配置适用于大多数情况,但是,高吞吐量或长时间运行的实例将受益于更长的分片组持续时间。官方推荐配置如下:其他考虑因素:分片组应该包含最频繁查询的最长时间范围的两倍。每个分片组应该包含超过十万个点。分片组中的每个系列应包含超过一千个点。另外,批量插入长期范围内的大量历史数据,会一次性触发大量分片的创建。并发访问和写入数百个分片将导致性能下降和内存耗尽。在这种情况下,建议临时设置一个长的分片组持续时间,例如52周。RP策略可以动态调整。删除RP将删除其下的所有数据。待续。..个人公众号持续输出原创文章,感兴趣的可以关注。

猜你喜欢