InfluxDB:将数据存储在单个测量中
InfluxDB: store data in a single measurement
InfluxDB 存储数据的理想方式如下所示:
* temperature
timestamp,iotid,value
----------------------------
1501230195,iot1,70
* humidity
timestamp,iotid,value
-------------------------
1501230195,iot1,45
* pressure
timestamp,iotid,value
-------------------------
1501230195,iot1,850
像这样在单个测量中存储数据有多糟糕?
* data
timestamp,iotid,measure,value
----------------------------
1501230195, iot1, temperare, 70
1501230195, iot1, humidity, 45
1501230195, iot1, pressure, 850
我的问题是我还需要查询从日期 x 到日期 y 的所有按时间戳排序的度量的日志,但我无法使用单独的度量来执行此操作。
根据官方文档 https://docs.influxdata.com/influxdb/v1.7/concepts/schema_and_data_layout/,此问题没有 ideal/recommended 解决方法。这取决于用例。您的案例将数据保存在一次测量中是有意义的,因为它们具有相同的标签,它们还共享具有低基数的标签值+您会提到多次测量的查询问题。
我在生产环境中使用约 250M 数据点(带分片的多节点集群)进行单一测量设计,性能没有问题。
InfluxDB 存储数据的理想方式如下所示:
* temperature
timestamp,iotid,value
----------------------------
1501230195,iot1,70
* humidity
timestamp,iotid,value
-------------------------
1501230195,iot1,45
* pressure
timestamp,iotid,value
-------------------------
1501230195,iot1,850
像这样在单个测量中存储数据有多糟糕?
* data
timestamp,iotid,measure,value
----------------------------
1501230195, iot1, temperare, 70
1501230195, iot1, humidity, 45
1501230195, iot1, pressure, 850
我的问题是我还需要查询从日期 x 到日期 y 的所有按时间戳排序的度量的日志,但我无法使用单独的度量来执行此操作。
根据官方文档 https://docs.influxdata.com/influxdb/v1.7/concepts/schema_and_data_layout/,此问题没有 ideal/recommended 解决方法。这取决于用例。您的案例将数据保存在一次测量中是有意义的,因为它们具有相同的标签,它们还共享具有低基数的标签值+您会提到多次测量的查询问题。
我在生产环境中使用约 250M 数据点(带分片的多节点集群)进行单一测量设计,性能没有问题。