如何在InfluxDB中存储光学数据

时间:2016-11-25 16:13:38

标签: time-series influxdb

我是InfluxDB的新手,对如何存储数据存有疑虑。我们的光学传感器输出每个时间戳有数千个值。到目前为止,我已经看到每个时间戳只有几个值的示例。 我的数据是这样的:

时间戳,标签{},字段{value1,value2 ... value10000}

最好的做法是在InfluxDB中存储这样的数据吗?此外,一个数据点可以有多少个字段是否有限制?

1 个答案:

答案 0 :(得分:1)

在不知道传感器与其数据之间的确切关系的情况下,这里有3种可能的选择。

案例1:时间顺序数据

值得注意的是,InfluxDB能够使用低至纳秒精度的时间戳。如果您的数千个值是连续的并且可以单独加时间戳,请考虑在单独的时间戳中写入/存储它们

INSERT measurement,sensor=sensor1 field=[value1] 2016-11-26T00:00:00Z
INSERT measurement,sensor=sensor2 field=[value2] 2016-11-26T00:00:00Z
...
INSERT measurement,sensor=sensor10000 field=[value10000] 2016-11-26T00:00:00Z

这样做的好处是可以在一个时间序列中看到所有测量结果。

案例2:一对一映射传感器值

如果每个值来自一个独特的传感器,使您有数千个点和数千个传感器,请考虑为每个传感器制作标签或字段。

A:按传感器标记值

INSERT measurement sensor1=[value1] sensor2=[value2] ... sensor10000=[value10000]

B:每个传感器都是一个字段

class warehouse
    {
        private static int radios, televisions, computers;

        public warehouse (int r, int t, int c)
        {
            r = Radios;
            t = Televisions;
            c = Computers;
        }

        public warehouse()
        {
            radios = 5;
            televisions = 5;
            computers = 5;
        }

        warehouse one = new warehouse(5, 6, 5);
        warehouse two = new warehouse();

        public static int Radios
        {
            get
            {
                return radios;
            }

            set
            {
                radios = value;
            }
        }

        public static int Televisions
        {
            get
            {
                return televisions;
            }

            set
            {
                televisions = value;
            }
        }

        public static int Computers
        {
            get
            {
                return computers;
            }

            set
            {
                computers = value;
            }
        }



    }
}

如果每个传感器都有多个指标,我会考虑选项A.如果每个传感器只生成1个指标,我会选择选项B.

案例3:可变数量的值

如果每个时间戳具有可变数量的值,例如,在机器视觉中,您已从图像中对阈值和提取对象进行阈值处理,那么您就达到了TSDB的极限。像这样的空间数据不能很好地映射到基于度量的时间序列数据库,如InfluxDB。