Influxdb 在XDB中存储特定数据模型的最有效方法?
在XDB中存储数据的最佳/最有效的方法是什么? 我从几个JSON格式的安装(约150+)中获得以下信息:Influxdb 在XDB中存储特定数据模型的最有效方法?,influxdb,Influxdb,在XDB中存储数据的最佳/最有效的方法是什么? 我从几个JSON格式的安装(约150+)中获得以下信息: 植物名称 工厂地址 历史数据 时间戳1 值1 价值2 价值3 时间戳2 值1 价值2 价值3 时间戳3(等等) 值1 价值2 价值3 历史数据中存储了数个带有数据的1000个时间戳 我想将它们导入XDB数据库,以便进行有效的评估。最好的方式是什么? 对于每个客户(150+),每个值有一个条目(测量)?还是不同的数据库 非常感谢 time |tags
- 植物名称
- 工厂地址
- 历史数据
- 时间戳1
- 值1
- 价值2
- 价值3
- 时间戳2
- 值1
- 价值2
- 价值3
- 时间戳3(等等)
- 值1
- 价值2
- 价值3
time |tags |fields
time, plant_name, plant_address, value_1, value_2, value_3
基本上,单一测量中的平面结构,其中时间戳+工厂相关细节(如标签)为字段值构建唯一键
如果您不向客户机提供对数据的直接访问,那么您可以通过向每个数据点添加客户机id标记,将其所有数据存储到单个数据库中,甚至存储到单个度量中。但我会使用单独的数据库,特别是当您不需要进行客户机间数据分析或比较时
一般来说,您应该尽可能少地使用有关植物的详细信息(元数据)作为标记。理想情况下,您将只使用plant_id作为标记。plant_名称、plant_地址等将进入一个关系数据库,您可以根据需要从那里检索它们。但是,根据您的用例,您可能希望在XDB中存储一些详细信息。基本上,任何你想分组或过滤的东西都可以用作标记。但是,请注意,标记值不能更改。如果您添加了大量具有plant_name
MyPlan
的数据,并且意识到您输入了错误或客户对其进行了重命名,那么您必须删除所有数据并使用正确的名称重新导入以解决问题。编辑:另一方面,如果您不将plant_名称添加为标记,则必须在查询和结果中使用ID。您可以使用名称“丰富”结果,这样您就不会想知道哪个是哪个了。对不起,请尽快输入;-)好的,所以我需要在工厂之间进行比较,所以我将把元数据保存在其他地方,并将数据保存在所有工厂的单个数据库中!是这样吗?听起来不错。我是说,这是一种权衡。根据用例的不同,您可以将所有内容都放在XDB中。