Database and retention policy mapping
This page documents an earlier version of InfluxDB. InfluxDB v2.7 is the latest stable version. View this page in the v2.7 documentation.
The InfluxDB 1.x data model includes databases and retention policies. InfluxDB OSS 2.x replaces databases and retention policies with buckets. To support InfluxDB 1.x query and write patterns in InfluxDB OSS 2.x, databases and retention policies are mapped to buckets using the database and retention policy (DBRP) mapping service.
The DBRP mapping service uses the database and retention policy specified in 1.x compatibility API requests to route operations to a bucket.
To query data in InfluxQL that was written using the api/v2/write
API, you must manually create a DBRP mapping to map a bucket to a database and retention policy. For more information, see Map unmapped buckets.
Default retention policies
A database can have multiple retention policies with one set as default. If no retention policy is specified in a query or write request, InfluxDB uses the default retention policy for the specified database.
When writing data
When writing data using the /write compatibility endpoint, the DBRP mapping service checks for a bucket mapped to the database and retention policy:
- If a mapped bucket is found, data is written to the bucket.
- If the bucket is unmapped, InfluxDB returns an error. See how to Map unmapped buckets.
When querying data
When querying data from InfluxDB 2.3 using the /query compatibility endpoint, the DBRP mapping service checks for the specified database and retention policy (if no retention policy is specified, the database’s default retention policy is used):
- If a mapped bucket exists, data is queried from the mapped bucket.
- If no mapped bucket exists, InfluxDB returns an error. See how to Map unmapped buckets.
For more information on the DBRP mapping API, see the /api/v2/dbrps endpoint documentation.
A DBRP combination can only be mapped to a single bucket
Each unique DBRP combination can only be mapped to a single bucket. If you map a DBRP combination that is already mapped to another bucket, it will overwrite the existing DBRP mapping.
Related
- /query 1.x compatibility API
- /write 1.x compatibility API
- InfluxDB v2 API /dbrps endpoint
- Query data with InfluxQL