We are currently evaluating InfluxDB to be used as process historian for our SCADA product.
We came across the following questions we were not able to answer reading the online doc, so possibly someone can assist:
When writing data using “/write” we get a response from the database. At this point (i.e. when we receive the response from the server) - assuming it is an “OK”, no error - it is sure that the data is persisted in the DB (at least in the WAL)? Background: We buffer data locally and want to be able to clear the buffer after the write returns. This implies that if the system crashes at exactly the point in time (i.e. after receiving the response) no data is lost.
We define a retention policy for let’s say 1 year. Now we backup a shard which then gets deleted after this year. Two year later we want to import this shard again, as the data in it is needed again. What happens, will the shard automatically be deleted, as it’s time period is beyond the retention period? Or is it better for this kind of use case to set retention to unlimited and do the deletion after one year “manually” by our application?
If I change the retention policy of a series, are the points written with the previous retention policy still queryable?
Example: We write points into a specific series with retention policy “2weeks.” Starting at a given point im time we write data of this series using another retention policy, lets say “4weeks”. As the retention policy cannot be specified in a query, will InfluxDB automatically find data for this series in both “policies”?
Thank you very much,