2.8 KiB
2.8 KiB
title, date
| title | date |
|---|---|
| InfluxDB简介和使用 | 2026-05-11 |
一、简介
InfluxDB 是一个开源的时序数据库(Time Series Database, TSDB),由 InfluxData 公司开发,专门用于存储、查询和处理时间序列数据(按时间顺序记录的数据点)。它在监控、物联网(IoT)、实时分析等场景中广泛应用,是时序数据领域的流行解决方案之一。
InfluxDB 3.0 是一次底层的彻底重构(内核代号 IOx),核心代码从 Go 改写为 Rust,并从自研的 TSM 引擎转向基于 Apache Arrow 生态的开放架构。
二、特点
- Rust 全新重写:更快、更省内存、更稳
- 支持无限标签基数:不再怕设备 ID、用户 ID 这类高基数场景
- 原生支持标准 SQL:不用只学 InfluxQL,普通 SQL 直接查
- 底层基于 Arrow + Parquet:列式存储、压缩率高、查询快
- 原生对接对象存储:支持 S3/OSS,冷热数据自动分层,可存海量历史数据
三、概念
- 库 Database:相当于 MySQL 的库,隔离业务数据
- 测量 Measurement:相当于 MySQL 的表(比如 cpu、温度传感器)
- 标签 Tag:维度、索引字段(字符串,如设备 id、地区,用来筛选分组)
- 字段 Field:实际指标值(数值,如温度、CPU 使用率,不做索引)
- 时间 Time:自带时间戳,时序数据唯一主键、按时间排序
四、安装
4.1 Docker安装
services:
influxdb3-core:
image: influxdb:3.9.1-core
container_name: influxdb3-core
restart: unless-stopped
networks:
- influx-network
ports:
- "8181:8181"
volumes:
- ./influxdb3/data:/var/lib/influxdb3/data
- ./influxdb3/plugins:/var/lib/influxdb3/plugins
user: root
environment:
- TZ=Asia/Shanghai
command: >
influxdb3 serve
--node-id=node0
--object-store=file
--data-dir=/var/lib/influxdb3/data
--plugin-dir=/var/lib/influxdb3/plugins
influxdb3-explorer:
image: influxdata/influxdb3-ui:1.6.3
container_name: influxdb3-explorer
restart: unless-stopped
networks:
- influx-network
ports:
- "8600:80"
- "8888:8888"
volumes:
- ./config:/app-root/config:ro
- ./db:/db:rw
- ./ssl:/etc/nginx/ssl:ro
environment:
- TZ=Asia/Shanghai
command: --mode=admin
networks:
influx-network:
driver: bridge
4.2 token生成
进入influxdb3-core容器,输入命令获取token:
influxdb3 create token --admin
4.3 可视化页面
打开ip:8600(具体端口看docker的配置),选择Configure->Servers,点击Connect Your First Server,输入InfluxDB服务器信息进行配置。
在Query Data->Data Explorer中查看数据。