1. 时序数据库概述

1.1 时序数据的特点

时序数据(Time Series Data)是按时间顺序记录的系统状态、测量值或事件流。在厂务监控场景中,温度、湿度、压力、电压、流量等传感器每秒都在产生大量带时间戳的数值。时序数据具有以下核心特征:

  • 时间戳为主键:每条记录都依赖一个精确的时间标识,数据按时间顺序追加。
  • 结构化且稳定:数据模式(metric + tags + timestamp + value)几乎不变,极少更新或删除。
  • 高写入吞吐:厂务监控中数千个测点同时上报,写入量可达每秒数十万点。
  • 冷热分明:近期数据频繁查询,历史数据逐渐归档,生命周期管理是刚需。
  • 聚合与降采样:原始数据保留周期短,长期趋势依赖分钟级、小时级聚合值。
厂务场景示例: 一条典型的时序数据记录包含 timestamp=2025-03-21T14:30:00Z、tag=fab_1_floor_2、field=temperature、value=23.5。每秒可能有 5000 条这样的记录同时写入。
时序数据写入与存储生命周期 传感器/PLC 数据源 写入缓冲 / WAL TSM 存储引擎 降采样 / 保留策略 查询 厂务场景:原始数据保留 7 天 → 1 分钟聚合保留 30 天 → 1 小时聚合保留 1 年

1.2 InfluxDB 在厂务监控中的角色

InfluxDB 是专为时序数据设计的开源数据库,在厂务监控系统中承担 数据中枢 的角色。它连接底层传感器网络与上层监控、分析、告警系统,提供高性能写入、灵活查询和自动数据生命周期管理。

厂务监控层级 组件/系统 InfluxDB 角色
数据采集层 PLC、传感器、边缘网关 接收 MQTT/Modbus 数据,通过 Telegraf 写入
数据存储层 InfluxDB 集群 时序数据持久化、保留策略、降采样
数据处理层 Kapacitor / 自定义任务 实时告警、异常检测、数据清洗
数据展示层 Grafana / 厂务大屏 提供 Flux / SQL 查询接口,渲染趋势图
厂务监控最佳实践: 使用 Telegraf 作为采集代理,通过 MQTT Consumer 插件订阅传感器主题,批量写入 InfluxDB。单机写入性能可达每秒 50 万点以上(取决于硬件和 schema 设计)。
InfluxDB 在厂务监控系统中的位置 温度传感器 压力传感器 流量传感器 电压传感器 Telegraf 采集代理(MQTT / Modbus / OPC UA) InfluxDB 时序数据库(写入 + 存储 + 查询) Grafana 监控大屏 告警 / 数据分析平台

1.3 时序数据库与传统数据库对比

传统关系型数据库(如 MySQL、PostgreSQL)在设计上并未针对时序数据优化。下表从多个维度对比时序数据库(以 InfluxDB 为例)与传统数据库的差异:

对比维度 传统数据库(MySQL / PG) 时序数据库(InfluxDB)
数据模型 表 + 行 + 列,支持复杂关联 measurement + tag + field + timestamp,扁平化
写入模式 随机写入,支持事务 ACID 顺序追加写入,批量提交,无事务开销
写入性能 单机约 1k~10k 行/秒 单机可达 500k~1M 点/秒
存储压缩 通用行/页压缩,压缩比 2~4x 列式压缩 + 差值编码,压缩比 10~30x
查询模式 随机点查、复杂 JOIN、事务 时间范围扫描、聚合、降采样、窗口函数
数据生命周期 手动分区 + 定时清理脚本 自动保留策略(RP) + 连续查询(CQ)
索引结构 B+Tree / Hash 索引 TSI(Time Series Index)+ 倒排索引
典型场景 订单、用户、库存、CMS IoT 监控、运维指标、金融行情、厂务数据
常见误区: 不要将传感器数据直接存入 MySQL 并期望获得高性能。厂务场景中每秒数万条写入会迅速耗尽 MySQL 的写入吞吐和磁盘 IO,导致查询延迟飙升。InfluxDB 专为这种高写入、时间范围扫描的场景设计,存储成本可降低 70% 以上。
时序数据库 vs 传统数据库:写入与查询模式对比 传统数据库:随机写入 + B+Tree 索引 写入:每次 INSERT 触发索引更新 查询:随机点查 + JOIN 性能好 范围扫描:全表扫描或索引回表 压缩比:2~4x 时序数据库:顺序追加 + TSM 列式存储 写入:批量追加,无随机 IO 查询:时间范围扫描 + 聚合极快 随机点查:需通过 TSI 倒排索引 压缩比:10~30x

1.4 厂务场景为什么选择 InfluxDB

厂务监控系统对数据库的核心要求是:高写入吞吐、低成本存储、快速时间范围查询、自动数据生命周期管理。InfluxDB 在以下方面与厂务需求高度匹配:

  • 原生时序模型:measurement + tags + fields + timestamp 天然适配传感器数据,无需额外建模。
  • 高性能写入管道:批量写入、WAL 预写日志、TSM 列式存储,单机轻松应对 10 万点/秒以上。
  • 自动保留策略:可配置数据过期自动删除,无需手动清理历史数据。
  • 连续查询与降采样:自动将原始数据聚合为分钟级、小时级数据,降低存储成本。
  • 丰富的生态集成:Telegraf 采集、Grafana 可视化、Kapacitor 告警,开箱即用。
厂务案例: 某半导体工厂部署 2000+ 传感器,每秒产生约 8 万条数据。使用 InfluxDB OSS 单节点,配合 Telegraf 批量写入(每批 5000 点),写入延迟稳定在 5ms 以内,存储压缩比达到 18x,原始 10TB 数据压缩后仅占用约 550GB。