InfluxDB and time range / geo based values?


#1

Hi,

We are considering to use InfluxDB to store values that are actually an average value for a given time range.

In the documentation, I did not find a way to store a value with a time range instead of a timestamp.

We have several devices that give us a value that average several measurements taken between t1/t2 (the duration can vary according to the device types) so when we create buckets of one hour, we would like to weight the values according to the time span that overlaps the bucket. In other words, if a value is taken between 01:50 and 02:05 we would like it to be weighted of 0.66 for the 01:00 bucket and of 0.33 for the 02:00 one. Note that our sensors are not synchronized and can be taken at any time.

We could maybe achieve something like that by adding a duration field but in this case, aggregating on a given time bucket should be done on a larger range to ensure every “weighted” ranges are included. Do you think it is feasible ?

Our measures are taken at a specific position and we would like to query our values for a given geographic area so what is the best in this case, using tags with geohashes and make WHERE queries with regexps or are there something better to do ?

We are currently using ElasticSearch that perfectly match that use case, that said, we anticipate a huge growth and we are looking for a more performant approach. Currently, we identified that there is no histogram/date histogram neither month/year buckets. It is a requirement for us, do you have a roadmap for those features?

Thanks for your help.


#2

In InfluxDB, you can’t store values with a time range.

One option would be to store all of the raw data and query by time range, that way you could build dashboards showing you the averages.