首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >时间序列数据库-度量与标记

时间序列数据库-度量与标记
EN

Stack Overflow用户
提问于 2015-07-20 11:10:40
回答 3查看 4.3K关注 0票数 5

我是TSDB的新手,我有很多温度传感器可以以每秒1点的速度存储在我的数据库中。最好是每个传感器使用一个唯一的度量,还是只使用一个具有不同标签的传感器(例如温度)?

我在网上搜索了什么是最好的做法,但我没有找到一个好的答案.

谢谢!:-)

编辑:我将有8种类型的测量(温度,设定点,能量,功率,.)2500个来源

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-20 23:33:47

如果您将数据存储在InfluxDB中,我建议将所有度量存储在单个度量中,并使用标记来区分源,而不是为每个源创建一个度量。原因是您可以使用度量中的标记对度量进行细微的合并或分解,但是在最新的InfluxDB中不可能合并或加入跨度量。

最终,决定取决于您对TSDB的选择和您最关心的运行查询。

票数 9
EN

Stack Overflow用户

发布于 2015-07-21 06:53:37

为了便于比较,在Axibase时间序列数据库中,您可以将温度作为度量存储,传感器id作为实体名存储。ATSD模式有一个实体的概念,它是收集数据的系统的名称。它的优点是存储更紧凑,并且能够为实体本身定义标记,例如传感器位置、传感器类型等。这种方法不仅可以通过传感器id,而且还可以通过传感器标记对结果进行过滤和分组。

举个例子,在这个博客文章中,0601911代表实体标识--这是EPA站点id。这个站点收集了几个环境指标,同时在数据库中使用多个标记进行了描述:http://axibase.com/environmental-monitoring-using-big-data/

底线是,您不必建立第二个数据库,通常是关系数据库,只需存储有关传感器、服务器等的扩展信息,以便进行高级报告。

更新1:示例网络命令:

代码语言:javascript
运行
复制
series e:sensor-001 d:2015-08-03T00:00:00Z m:temperature=42.2 m:humidity=72 m:precipitation=44.3

描述传感器-001(例如位置、类型等)的标记是分开存储的,以最小化存储量和加快查询速度。如果您正在收集能量/功率指标,您通常必须指定一系列属性,例如状态,因为数据可能不会被清理/验证。为此,您可以使用系列标记。

代码语言:javascript
运行
复制
series e:sensor-001 d:2015-08-03T00:00:00Z m:temperature=42.2 ... t:status=Provisional
票数 2
EN

Stack Overflow用户

发布于 2015-07-20 14:35:38

每个传感器应该使用一个度量。您可能不需要聚合来自不同温度传感器的值,但是您需要聚合给定传感器的值(例如,平均超过一分钟)。

度量标准对应于来自同一源的数据,或者至少是您可能聚合的数据。您几乎可以创建任意数量的度量标准(例如,1 600万项指标中的OpenTSDB )。

标签对这些数据进行区分。例如,如果数据突然发生了很大的变化,您可以使用不同的标记,以便只在需要时检索相关数据,而不会丢失其余的数据。虽然温度传感器每秒钟都能得到数据,但最好的方法是在值改变时过滤和存储数据.

最佳实践被总结为这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31514978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档