I am storing time series of about 60k datapoints per unique tag combination. I am querying the data in it’s entirety without time aggregation because I need all the values. I am using the InfluxData.Net.InfluxDb C# library. Upon inspection, I see that the data is transferred as plaintext with a typical datapoint looking like this:
["2023-12-30T02:00:00Z",-3.49999999999977]
That’s an awful lot of bytes for such a simple value. One series to download totals to about 2.5 MB. Because I need quite a few of those, my total download is around 200 MB which takes ages on poorer connections.
That’s 42 bytes of data per datapoint as opposed to 8 it should take in theory. Is there any way to make the protocol switch to binary transfer or at least gzip the output? Binary would give about 5x bandwidth improvement, gzip would help immensely in other query results that contain many repeated tag values, which are all duplicately transferred in plain text.
I am going to answer my own question. Of course it supports gzip.
And this is how to enable the compression using InfluxData .Net client:
https://github.com/pootzko/InfluxData.Net/issues/80
1 Like