一台InfluxDB服务器每秒可以处理近百万条时序数据。如果所有数据都持久保存,数据量非常大,造成存储成本高昂。 常见的解决方法就是降低数据精度,即详细的、高时间精度的数据只能保留一段时间,同时对这些数据进行聚合计算得到低精度的、符合我们需求的数据,再根据实际情况存储一段时间然后删除高精度的数据,只保留低精度的数据。
前一篇博文我们讲了连续查询,定期自动处理、聚合数据,降低数据的时间精度,把结果保存在指定的表中,而数据保留策略可以按照我们的需求,根据设置的保留时间,淘汰掉我们不需要的高精度冷数据。
InfluxDB会计算本地服务器时间和存储数据的时间戳差值,如果该差值比保留策略设置的保留时间长,则会讲这些过期数据删除。
一个数据库可以创建多个保留策略,名字必须唯一。在创建数据库时,InfluxDB会自动生成一个永久保留策略"autogen"作为数据库的默认保留策略。
例:创建一个保留策略,数据以一个副本的形式保留1天。