首页 > 解决方案 > InfluxDB 2.0 中的存储桶、度量和保留策略之间的逻辑联系是什么?

问题描述

我目前正在研究 InfluxDB 2.0 的文档;但是,我还不完全理解存储桶、度量和保留策略之间的逻辑。

文档说数据库和保留策略已被存储桶取代。根据定义,存储桶是:

“时间序列数据存储在 InfluxDB 2.0 中的命名位置”

在我的理解中

一个桶包含分片组=> 分片组将一定间隔的数据存储在特定文件夹中;例如:一个分片组可以始终将四个小时间隔的数据保存在单个文件夹中。

分片组包含分片=> 分片是时间序列表的单行/点。

此外,Influx 在文档中写道,一个存储桶具有一个保留策略。

这意味着“一个桶”只存储一个时间序列,而不是多个时间序列;否则,一个存储桶可能有多个保留策略。

如果我的理解是正确的,这是否意味着当所有度量都具有相同的保留策略时,您只能将度量包含在同一个存储桶中?因为如果在同一个存储桶中有两个具有不同保留策略的度量,一个保留策略可能会从另一个度量中删除数据。如果我在这里混淆了,请纠正我。

但是,如果我是对的,这对硬件要求有何影响?

Influx 表示,系列的数量会影响硬件要求。

这实际上意味着,每个存储桶/保留策略都会增加系列的数量以及硬件要求?

例如,在一个存储桶中存储 60,000 个系列 VS 在存储桶 A 中存储 20,000 个系列,在存储桶 B 中存储另一个 20,000 个系列,在存储桶 C 中存储最后 20,000 个系列时,是否会有所不同。

我期待着您的反馈!

标签: influxdbinfluxdb-2

解决方案


阿尔瓦罗 -

a 最重要的特征bucket是它定义了其中retention policy的所有数据。一个存储桶只有一个保留策略。如果您有需要两个不同时间范围的数据,则需要两个存储桶。这通常是通过下采样来完成的。例如,我将高保真 1/s 数据保留一周,然后将低分辨率 1/min 数据保留一个月。我会在这里使用两个桶。

对于 InfluxDB,“时间序列”由其“序列键”定义,即测量、标签集和字段键集。所以一个桶可以包含许多不同的时间序列。您可以将许多测量值放入一个存储桶中。看来您对 InfluxDB 1.x 很熟悉,所以我想您已经了解度量、标签和字段。

“系列基数”是您总共拥有的时间序列数。不同存储桶中的相同系列键被视为单独的系列。因此,举一个人为的例子,如果您将数据复制到两个不同的存储桶中,但其他方面是相同的,那么您的基数就会翻倍。在这种情况下,硬件要求会更高,这是有道理的——您管理的数据增加了一倍。

这篇博客文章对这些概念进行了很好的概述。InfluxDB 的数据布局和模式设计最佳实践如果您有后续问题,请向他们提问。如果您想询问那里的专门社区,还有一个 InfluxDB 社区闲聊。


推荐阅读