当工厂里上千台传感器每秒都在吐出温度、压力、振动数据;当生产线上的PLC每毫秒都在记录设备运行状态;当SCADA系统7×24小时不间断采集各类工艺参数——你会发现,传统关系型数据库在这些制造业场景下越来越力不从心。

一、什么是时序数据

时序数据,顾名思义,就是按时间顺序记录的一组数据点。在制造业中它无处不在——工厂里每台机床的主轴温度曲线、生产线上每个工序的耗时统计、压缩机的压力振动记录、车间环境的湿度监控,本质上都是时序数据。

时序数据有五个区别于普通业务数据的核心特征:

  • **时间戳是主索引:**每条记录都携带精确到毫秒甚至微秒级的时间戳,时间戳是数据的主索引,所有查询都围绕时间范围展开。制造业场景中,你需要知道的是「过去24小时这台机床的温度变化曲线」,而不是查所有机床的当前状态。
  • **写多读少:**制造业数据持续不断地涌入,写入频率远高于读取频率。一台工业网关接入1000个传感器、每个传感器每秒上报10个指标,写入速率就是10万条/秒——但历史查询可能一天才做一次。
  • **数据不可变:**历史记录一旦写入就不再修改,只允许追加新数据。这与ERP系统中的订单状态修改、MES中的工单回退完全不同。
  • **数据老化:**制造业数据的价值随时间递减。一周前的传感器数据可能只需要聚合概要,一年前的设备运行数据只需保留月度报表,更早的数据甚至可以自动清理。
  • **聚合查询为主:**制造业最常见的查询模式是「过去1小时每分钟的平均轴承温度」、「过去24小时每5分钟的峰值振动频率」,需要降采样、滑动窗口、时间范围聚合等操作。

二、传统数据库为什么不够用

你可能会想:MySQL、PostgreSQL这些关系型数据库用了几十年了,加个时间戳字段不也能存时序数据吗?技术上当然可以,但当制造业数据量达到一定规模后,问题会集中爆发。

2.1 写入瓶颈

传统数据库采用B+Tree索引结构,每次写入都需要更新索引、维护数据一致性、写WAL日志、执行事务提交。在中等规模(单表千万级)时还能应付,但当写入速度达到每秒数万甚至数十万条时(如一个中型工厂的传感器网络),B+Tree的随机写入会成为严重瓶颈。

2.2 存储膨胀

关系型数据库按行存储,每条记录除了业务数据外,还需要存储事务ID、可见性标记、NULL位图等元数据。对于时序数据这种「每条记录只有几个数值字段加一个时间戳」的简单结构,行式存储的空间利用率极低。一亿条传感器数据在PostgreSQL中可能占用20GB以上,而在专用时序数据库中,通过列式压缩可以缩减到2GB甚至更少。

2.3 聚合查询低效

制造业最典型的查询是「过去24小时每5分钟的平均轴承温度」,这需要扫描大量原始数据点再做聚合计算。传统数据库没有预聚合、降采样、连续聚合等机制,每次查询都要全量扫描,数据量一大查询就慢得让人绝望。

2.4 数据生命周期管理缺失

制造业时序数据的一个核心需求是「老数据自动降精度加自动清理」。比如:原始传感器数据保留7天,7天后降采样为每分钟一个点保留30天,30天后降采样为每小时一个点保留1年。传统数据库没有内置这种能力,需要手动编写定时任务,既繁琐又容易出错。

2.5 传统数据库 vs 时序数据库对比

三、时序数据库的五大核心能力

了解了传统数据库的痛点,我们就能理解时序数据库到底强在哪里。

能力一:超高吞吐写入

时序数据库普遍采用LSM-Tree(Log-Structured Merge-Tree)或类似追加写入的存储引擎。数据先写入内存,达到阈值后批量刷盘,后台再合并压缩。QuestDB在单节点基准测试中达到430万行/秒,完全可以应对大型工厂的传感器数据涌入。

能力二:列式存储与超高压缩率

制造业传感器数据通常有少量固定的数值列,列式存储可以应用Delta编码、Run-Length编码、位打包等专业压缩算法。VictoriaMetrics相比Prometheus可以减屰70%的存储空间,TimescaleDB的压缩率可达95%。

能力三:时序专用查询函数

TSDB内置了大量面向时序场景的查询函数。TimescaleDB的time_bucket()可以按任意时间粒度分组聚合,InfluxDB的Flux语言支持滑动窗口、数据插值、异常检测,QuestDB的SAMPLE BY可以实现降采样查询。

能力四:连续聚合与降采样

连续聚合可以在后台自动将高频原始数据聚合为低频概要数据并物化存储。比如原始传感器数据每秒一条,系统自动维护每分钟、每小时、每班次的聚合结果。这对制造业的实时监控大屏和产线OEE看板至关重要。

能力五:数据生命周期管理

TSDB原生支持TTL(Time To Live)机制,可以按时间自动清理过期数据,或自动将老数据降精度后迁移到冷存储。这种分层存储策略大幅降低了制造业长期数据保有的成本。

四、时序数据库的典型应用场景

根据市场研究机构预测,全球时序数据库市场规模将在2028年达到118亿美元,年复合增长率高达22.4%。这不是一个遥远的趋势,而是制造业数字化转型中正在急速膨胀的技术赛道。时序数据库市场的增长动力来自制造业数字化转型的多个方向叠加:工业4.0推动工厂数字化转型、IoT设备数量爆发式增长、智能制造对实时数据采集与分析的要求越来越高。根据DB-Engines排名显示,时序数据库是过去五年增长最快的数据库品类。

以下情况强烈建议引入时序数据库TSDB:

  • 工厂传感器/设备数据写入频率超过1万条/秒,且持续不断
  • 需要采集PLC、SCADA、DCS等工业控制系统的实时数据
  • 需要频繁做产线OEE、设备利用率、单位能耗等时间窗口聚合统计
  • 需要实时监控设备运行状态大屏、告警联动
  • 数据量增长迅速,月增传感器数据量超过100GB

以下情况暂时不需要:

  • 工厂数据量小(日增万条以内),传统数据库完全够用
  • 业务场景以ERP、MES的事务操作和JOIN查询为主
  • 数据需要频繁修改和删除

决策原则:当「写入吞吐量」、「数据量增长速度」、「时间聚合查询频率」三个指标中有两个超出传统数据库的舒适区,就该认真评估TSDB了。

结语

时序数据库并非可以替代一切数据库的万能方案,不存在 “所有工业场景都必须部署 TSDB” 的结论。关系型数据库依旧在 MES 工单、生产排程、库存管理等事务型业务场景发挥不可替代的价值。二者本质是能力互补:关系型数据库承载业务交易数据,时序数据库承载海量设备时序采集数据

当企业产线传感器、PLC 采集规模持续上涨,高频写入、长时间范围聚合查询、海量数据存储、分级生命周期管理等问题逐步凸显时,时序数据库就是解决工业采集场景性能与成本矛盾的优选方案。企业可以结合自身数据采集频次、数据量级、业务分析需求,合理规划存储架构,实现业务数据与设备采集数据分层存储、协同利用,支撑设备监控、能耗分析、故障追溯、产线效能分析等工业数字化场景落地。

Logo

葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。

更多推荐