首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IoT的KairoDB指标名称或标记

IoT的KairoDB指标名称或标记
EN

Stack Overflow用户
提问于 2018-02-26 18:22:31
回答 1查看 72关注 0票数 0

我们有很多像能量计这样的传感器,并希望使用kairosdb来存储数据。在我们使用简单的SQL存储之前,每个传感器都有自己的表,其中每个测量值都是一行。

通过JSON对象将测量从传感器发布到系统:

代码语言:javascript
复制
{
    time: 12363453,
    volt: 238.33,
    ampere: 9.3,
    watts: 29.0,
}

例如,对于两个设备上的两个传感器,我们的数据库中有以下内容:

传感器A1234:

代码语言:javascript
复制
id, time, volt, ampere, watts
12, <unix-ts>, 238.33, 9.3, 29.0
13, <unix-ts>, 238.21, 9.1, 23.8
...

传感器B5678:

代码语言:javascript
复制
id, time, volt, ampere, watts
75, <unix-ts>, 230.12, 3.9, 19.5
76, <unix-ts>, 234.65, 2.8, 24.5
...

现在,我们正在研究使用KairosDB存储相同信息的最佳解决方案。

我们的目标是回答一些“问题”,例如:-最新的伏特、瓦特、安培-x(开始时间戳)和y(结束时间戳)之间的平均安培值是多少?-两个日期之间所有(或子集)传感器的总瓦数是多少?

诸若此类。

那么,选择指标名称和/或标签的最佳方法是什么?

我们是否应该使用传感器名称作为指标名称(不带标记):

代码语言:javascript
复制
sensors.energy.a1234.volt=238.33
sensors.energy.a1234.ampere=9.3
sensors.energy.a1234.watts=29.0

sensors.energy.b5678.volt=230.12
sensors.energy.b5678.ampere=3.9
sensors.energy.b5678.watts=19.5

或者我们是否应该在所有传感器上使用相同指标的标签:

代码语言:javascript
复制
sensors.energy.volt=238.33, tag: sensor=a1234
sensors.energy.ampere=9.3, tag: sensor=a1234
sensors.energy.watts=29.0, tag: sensor=a1234

sensors.energy.volt=230.12, tag: sensor=b5678
sensors.energy.ampere=3.9, tag: sensor=b5678
sensors.energy.watts=19.5, tag: sensor=b5678

或者,我们完全走错路了吗?

在查询性能方面有区别吗?

EN

回答 1

Stack Overflow用户

发布于 2018-04-26 16:45:05

这取决于你的用法和标签的基数。

如果你需要对传感器进行分组,那么在标签中设置它是很有用的。如果始终单独查询传感器,则只需输入指标名称即可实现更简单的查询。

如果标记基数(一个指标的时间序列的数量)太高,就会影响查询性能(我会看到几百个thousands+)。有一些方法可以通过使用像kairosDB SolR search (https://github.com/kairosdb/kairos-solr)这样的索引/搜索插件来克服这种影响。

我希望这能帮到你。

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

https://stackoverflow.com/questions/48986172

复制
相关文章

相似问题

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