InfluxDB — база данных временных рядов (Time Series Database, TSDB), разработанная компанией InfluxData. Оптимизирована под высокочастотную запись точек данных (метрик) и агрегирующие запросы по временным диапазонам. Используется для хранения метрик серверов, IoT-данных, финансовых тиков и любых числовых данных с временной меткой. Конкурирует с Prometheus в DevOps-мониторинге.
Ключевые концепции InfluxDB
Measurement — аналог таблицы в реляционной БД: «cpu_usage», «http_requests», «temperature».
Tags — индексируемые метки (ключ=значение): host, region, service. По тегам фильтруют и группируют, хранятся как строки с индексом.
Fields — числовые данные: value, count, latency. Не индексируются, хранятся с компрессией.
Retention Policy — политика автоматического удаления данных старше N дней.
Запись через HTTP Line Protocol:
# Формат: measurement,tags fields timestamp
curl -XPOST http://localhost:8086/write?db=mydb --data-binary 'cpu_load,host=server01 value=0.64 1609459200000000000'
TICK-стек
InfluxData продвигает интегрированный стек:
- Telegraf — агент сбора метрик с 300+ input-плагинами: CPU, RAM, диски, Docker, Kubernetes, SNMP, Nginx, PostgreSQL
- InfluxDB — хранение временных рядов с компрессией TSM (Time Structured Merge Tree)
- Chronograf — встроенная визуализация (в InfluxDB 2.x встроена в UI)
- Kapacitor — потоковая обработка и алертинг (в InfluxDB 2.x встроены Tasks)
История
InfluxDB создан Полом Диксом (Paul Dix), компания InfluxData основана в 2012 году в Сан-Франциско. InfluxDB 0.9 (2015) ввёл TSM — механизм хранения с компрессией 10:1 для типичных метрик. InfluxDB 2.0 GA вышел в ноябре 2020 года: объединил сервер и UI, сделал Flux основным языком запросов. InfluxDB 3.0 (2024) переписан на Apache Arrow/DataFusion с поддержкой SQL. InfluxData привлекла млн инвестиций к 2023 году.
InfluxDB vs Prometheus
| Параметр | InfluxDB | Prometheus |
|---|---|---|
| Модель записи | Push (Telegraf пишет в InfluxDB) | Pull (Prometheus scrapes /metrics) |
| Язык запросов | Flux / SQL (v3) / InfluxQL | PromQL |
| Долгосрочное хранение | Встроено (Retention Policy) | Thanos/Cortex/VictoriaMetrics |
| IoT-интеграция | Сильная (300+ Telegraf-плагинов) | Слабее |
| Kubernetes-нативность | Через Telegraf | Нативная (ServiceMonitor) |
Применение в хостинге
InfluxDB + Telegraf + Grafana — популярный стек мониторинга для выделенных серверов. Telegraf устанавливается на каждый хост, собирает метрики CPU/RAM/диска/сети и пишет в InfluxDB. Grafana читает данные через InfluxDB datasource plugin. По сравнению с Prometheus, InfluxDB удобнее для IoT-сценариев и нестандартных источников через богатую экосистему Telegraf-плагинов. Начиная с InfluxDB 3.0 продукт переходит на модель OSS + облачный сервис InfluxDB Cloud с разделением бесплатного open-source и коммерческой части.
InfluxDB vs TimescaleDB vs VictoriaMetrics
Конкуренты в сегменте TSDB:
| TSDB | Язык запросов | Горизонтальное масштабирование | Лицензия |
|---|---|---|---|
| InfluxDB 3.0 | SQL + Flux | InfluxDB Cloud (SaaS) | MIT / коммерческая |
| TimescaleDB | SQL (PostgreSQL) | Timescale Cloud | Apache 2.0 |
| VictoriaMetrics | MetricsQL (PromQL-совместимый) | Кластерная версия | Apache 2.0 |
| Prometheus | PromQL | Thanos/Cortex | Apache 2.0 |
VictoriaMetrics — популярная drop-in замена Prometheus для долгосрочного хранения метрик: потребляет в 5–10 раз меньше памяти, поддерживает PromQL и горизонтальное масштабирование без лицензионных ограничений. TimescaleDB подходит, когда нужна полная мощь SQL и интеграция с существующей PostgreSQL-инфраструктурой.