在influxdb中存储特定数据模型的最有效方法?

问题描述 投票:0回答:1

在influxdb中存储数据的最佳/最有效方法是什么?我从JSON格式的多个安装(约150多个)中获得以下信息:

  • 植物名称
  • 工厂地址
  • 历史数据
    • 时间戳1
    • 值1
    • 值2
    • 值3
    • 时间戳2
    • 值1
    • 值2
    • 值3
    • 时间戳3(以此类推)
    • 值1
    • 值2
    • 值3

带有数据的几千个时间戳存储在历史数据中。

我想将这些导入到influxdb数据库中以进行有效评估。最好的方式是什么样的?对于每个客户(150+),每个值有一个条目(度量)?或不同的数据库?

非常感谢

influxdb
1个回答
1
投票
time  |tags                      |fields
time, plant_name, plant_address, value_1, value_2, value_3

基本上是一次测量中的平面结构,其中时间戳+工厂相关详细信息(作为标签)为字段值构建唯一键。

如果您不将数据直接提供给客户端,则可以通过将client_id标记添加到每个数据点,将其所有数据存储到单个数据库或单个度量中。但我会使用单独的数据库,尤其是如果您不需要进行客户端间数据分析或比较时。

通常,应将有关植物的详细信息(元数据)使用的标签尽可能少。理想情况下,您只将plant_id用作标签。 plant_name,plant_address等将进入关系数据库,您将根据需要从那里检索它们。但是,根据您的用例,您可能需要在influxdb中存储一些详细信息。基本上,您想要用作标签的分组或过滤条件的任何内容。但是请注意,标签值不能更改。如果您添加了许多带有plant_name MyPlan的数据,并且发现自己做了错别字或客户端已将其重命名,则必须删除所有数据,然后使用正确的名称重新导入它以解决问题。编辑:另一方面,如果您不添加plant_name作为标记,则必须在查询和结果中使用ID。您将可以使用名称来“丰富”结果,以使您不会怀疑哪个是哪个。

© www.soinside.com 2019 - 2024. All rights reserved.