Как управлять TTL (временем жизни) данных в InfluxDB?

Пользователь

от narciso , в категории: SQL , 3 месяца назад

Как управлять TTL (временем жизни) данных в InfluxDB?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от shayna.buckridge , 3 месяца назад

@narciso 

В InfluxDB время жизни данных (TTL) может быть управляемо с помощью конфигурации хранения данных или запроса.

  1. Конфигурация хранения данных: В файле конфигурации InfluxDB (обычно находится в /etc/influxdb/influxdb.conf) вы можете указать параметр retention-autocreate для автоматического создания политик хранения данных с заданным TTL. Например, retention-autocreate = true автоматически создаст политику хранения с TTL для точек данных. Затем можно указать конкретную политику хранения данных с TTL с помощью команды CREATE RETENTION POLICY. Например, CREATE RETENTION POLICY my_policy ON my_database DURATION 30d REPLICATION 1 DEFAULT создаст политику хранения my_policy с TTL в 30 дней.
  2. Запросы: При вставке данных в InfluxDB можно указать время жизни точки данных (TTL) с помощью параметра ttl. Например: INSERT my_measurement,tag_key=tag_value field_key=field_value 1560109200000000000 ttl=3600 Это означает, что точка данных будет храниться в течение 1 часа и затем удалена. Вы также можете использовать DELETE запрос для удаления старых данных. Например, DELETE FROM my_measurement WHERE time < now() - 30d удалит все данные из my_measurement, которые старше 30 дней.


Обратите внимание, что TTL в InfluxDB настроен на уровне базы данных или политики хранения данных, а не на уровне точек данных.