Documentation

Data retention in InfluxDB

The InfluxDB retention enforcement service checks for and removes data with timestamps beyond the defined retention period of the bucket the data is stored in. This service is designed to automatically delete “expired” data and optimize disk usage without any user intervention.

By default, the retention enforcement service runs every 30 minutes. You can configure this interval with the storage-retention-check-interval configuration option.

Bucket retention period

A bucket retention period is the duration of time that a bucket retains data. Retention periods can be infinite or as short as an hour. Points in a bucket with timestamps beyond the defined retention period (relative to now) are eligible for deletion.

Shard group duration

InfluxDB stores data on disk in shards. Each shard belongs to a shard group and each shard group has a shard group duration. The shard group duration defines the duration of time that each shard in the shard group covers. Each shard contains only points with timestamps in a specific time range defined by the shard group duration.

By default, shard group durations are set automatically based on the bucket retention period, but can also be explicitly defined when creating or updating a bucket.

For more information, see InfluxDB shard group duration.

View bucket retention periods and shard group durations

Use the influx bucket list command to view the retention period and shard group duration of buckets in your organization.

When does data actually get deleted?

The InfluxDB retention enforcement service runs at regular intervals and deletes shard groups, not individual points. The service will only delete a shard group when the entire time range covered by the shard group is beyond the bucket retention period.

Data is queryable until deleted

Even though data may be older than the specified bucket retention period, it is queryable until removed by the retention enforcement service.

To calculate the possible time data will persist before being deleted:

  • minimum: bucket-retention-period
  • maximum bucket-retention-period + shard-group-duration

For example, if your bucket retention period is three days (3d) and your shard group duration is one day (1d), the retention enforcement service deletes all shard groups with data that is three to four days old the next time the service runs.

4d

3d

2d

1d

0d

Shard group

Shard

Shard group

Shard

Shard group

Shard

Shard group

Shard

Deleted

3d retention period


Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Flux is going into maintenance mode and will not be supported in InfluxDB 3.0. This was a decision based on the broad demand for SQL and the continued growth and adoption of InfluxQL. We are continuing to support Flux for users in 1.x and 2.x so you can continue using it with no changes to your code. If you are interested in transitioning to InfluxDB 3.0 and want to future-proof your code, we suggest using InfluxQL.

For information about the future of Flux, see the following: