What InfluxDB Does
- Time series storage — optimized for time-ordered data
- High write throughput — millions of points per second
- Downsampling — continuous queries / tasks to roll up data
- Retention policies — auto-delete old data
- SQL + InfluxQL + Flux — multiple query languages
- Apache Arrow/Parquet — columnar storage in v3
- Unlimited cardinality — v3 removes series cardinality limits
- Telegraf — 200+ plugins for data collection
- Kapacitor — alerting and stream processing
- Grafana integration — first-class data source
Architecture
InfluxDB 3.0 architecture:
- Write — line protocol to WAL, flushed to Parquet files
- Query — DataFusion execution engine on Parquet + in-memory WAL
- Storage — object storage (S3, local disk) for Parquet
- Compactor — merges small Parquet files into larger ones
Self-Hosting
# docker-compose.yml
version: "3"
services:
influxdb:
image: influxdb:3-core
ports: ["8086:8086"]
volumes: ["influx-data:/var/lib/influxdb3"]
environment:
INFLUXDB3_NODE_IDENTIFIER_PREFIX: "node-1"
INFLUXDB3_OBJECT_STORE: "file"
INFLUXDB3_DB_DIR: "/var/lib/influxdb3"
volumes:
influx-data:Key Features
- Purpose-built for time series
- v3 built on Apache Arrow/Parquet
- SQL and InfluxQL query
- Unlimited cardinality (v3)
- High ingest throughput
- Downsampling and retention
- Telegraf ecosystem (200+ plugins)
- Grafana integration
- Cloud-native managed offering
Comparison
| Database | Model | Storage | SQL |
|---|---|---|---|
| InfluxDB v3 | Time series | Parquet + Arrow | Yes + InfluxQL |
| TimescaleDB | Postgres extension | Postgres | Native |
| Prometheus | Time series | Local TSDB | PromQL only |
| VictoriaMetrics | Time series | Custom | MetricsQL |
| QuestDB | Time series | Columnar | SQL |
| ClickHouse | OLAP | Columnar | SQL |
常见问题 FAQ
Q: v2 vs v3 区别? A: v3 完全重写(Rust + Apache Arrow/DataFusion),支持 SQL、无 cardinality 限制、storage 放对象存储。v2 是 Go + TSM 引擎,有 cardinality 问题。
Q: 和 Prometheus 怎么选? A: Prometheus 适合监控(pull 模型、简单部署);InfluxDB 适合通用时序数据(push 模型、SQL 查询、更长期存储)。
Q: 支持 PromQL 吗? A: v3 有实验性 PromQL 支持,目标是 Prometheus 替代品。
来源与致谢 Sources
- Docs: https://docs.influxdata.com
- GitHub: https://github.com/influxdata/influxdb
- License: Apache 2.0