不只是存数据:KES TimeSeries如何让AI真正理解工业业务
AI为什么难以读懂业务?
让AI判断一台设备是否异常,究竟需要多少数据?如果只盯着当前的温度读数,显然远远不够。温度的升高,既可能是设备故障的前兆,也可能仅仅是负载增加的正常反应。要做出精准判断,AI必须理解过去一段时间的温度变化曲线,观察振动和电流是否同步异常,甚至还要回溯设备近期的检修记录,以及同类机型是否出现过相似问题。
与主要基于静态文档检索的知识问答不同,工业、能源、交通等场景中的分析,往往还需要结合持续变化的运行数据。系统不仅要知道设备“现在是什么状态”,还要理解其状态在一段时间内如何变化。因此,在设备异常检测、故障诊断和预测性维护等场景中,连续的时序数据是重要的数据基础之一。
例如,一台电机持续上传温度、振动和电流数据,如果仅根据某一个时刻的数据进行判断:
SELECTtemperatureFROMdevice_metricWHEREdevice_id='motor_001'ORDERBYtsDESCLIMIT1;查询结果可能只有:
temperature ----------- 87.6℃AI只能知道当前温度偏高,却无法判断这是短时间波动还是持续升温。如果进一步查询最近30分钟的数据趋势:
SELECTts,temperature,vibration,currentFROMdevice_metricWHEREdevice_id='motor_001'ANDts>now()-interval'30 minute'ORDERBYts;AI获得的就是完整的运行过程,而不是单独的一个数据点,更容易识别持续升温、振动同步增加等异常模式。这也是工业AI为什么如此依赖时序数据库的重要原因。
然而,仅有过程数据,并不能完整解释过程。一条单纯的曲线只能告诉我们数值发生了变化,却无法说明变化背后的深层原因。要真正读懂设备状态,必须将实时指标与设备型号、所属产线、安装位置、维修记录以及沉淀的故障知识结合起来。企业现有系统中,这些数据往往分散在设备监控、资产管理、空间信息、维修工单和知识文档等不同平台。过去,各系统独立运行尚能满足业务需要;但当业务需要进行实时分析、故障诊断或智能判断时,数据往往需要经过多次提取、转换和拼接,不仅链路更长,也容易出现更新不及时、信息不完整等问题。
让分散数据围绕业务对象连起来
对不同类型的数据需求,企业通常需要引入多套专业系统。但系统数量增加后,数据同步、接口开发和运维管理也会随之变得复杂,实时分析和智能应用获取完整数据的链路被不断拉长。这也正是KES选择融合架构的出发点:不再针对不同数据类型分别建设彼此割裂的系统,而是让多种数据在同一数据库体系内直接关联。金仓时序数据模型KES TimeSeries的时序能力并非独立外挂的模块,而是构建在KES融合数据库架构中的原生能力。这意味着,时序数据描述的状态变化、关系数据说明的业务属性、GIS数据提供的空间位置,以及向量数据补充的专业知识,能够围绕同一个业务对象被直接关联。
例如,一次设备异常分析通常需要同时获取多个维度的数据:
设备 Pump-001 │ ├── 时序数据 │ ├── 温度 │ ├── 电流 │ └── 振动 │ ├── 关系数据 │ ├── 设备型号 │ ├── 所属产线 │ └── 负责人 │ ├── GIS数据 │ └── 安装位置 │ └── 检修记录 └── 最近更换轴承传统架构下,这些数据往往需要分别访问多个系统,再由业务层完成关联。而在KES融合数据库中,这些不同类型的数据可以围绕同一个业务对象直接组织,AI无需频繁跨系统查询,即可获得完整业务上下文。
当然,融合的前提,是时序能力本身足够扎实。针对工业物联网、能源电力等场景中数据高频产生、持续写入和设备数量庞大的特点,KES TimeSeries对写入、存储和查询链路进行了专项优化。
在写入端,系统通过Append追加写、无锁化和异步IO等机制,减少高并发写入过程中的资源等待。在特定测试环境下,单节点写入能力可达到千万级指标点/秒,能够支撑海量设备数据持续、稳定入库。
例如设备持续写入数据:
INSERTINTOdevice_metric(ts,device_id,temperature,vibration,current)VALUES(now(),'Pump001',72.4,0.12,11.3),(now(),'Pump001',72.7,0.13,11.5),(now(),'Pump001',73.2,0.15,11.8);对于工业现场而言,这样的写入会持续不断发生。KES TimeSeries通过追加写和异步IO机制,使海量设备能够稳定持续写入数据,更符合时序数据"只追加、不修改"的业务特点。
在存储端,系统采用自适应行列存储,并结合Delta-of-Delta增量编码、Gorilla浮点数压缩等时序专用算法,根据不同数据类型自动匹配压缩方式。典型数字型时序数据压缩比可达到10∶1,存储空间最高可减少约90%,在降低海量历史数据保存压力的同时,保留后续分析、建模所需的原始数据。
从原始数据到可分析、可建模的数据,KES同样将关键计算放在数据库内部完成。系统内置时间桶聚合、动态降采样和数据补齐等能力,可直接处理工业现场常见的采样频率不一致、数据短时缺失和网络中断等问题,帮助恢复连续、可分析的设备运行曲线。
例如统计设备每分钟平均温度:
SELECTtime_bucket('1 minute',ts)ASbucket,AVG(temperature)ASavg_tempFROMdevice_metricGROUPBYbucketORDERBYbucket;相比直接处理海量秒级数据,这种聚合后的趋势数据更加适合作为AI模型输入,也能显著降低后续分析计算量。
对于需要频繁使用的历史趋势,KES通过连续聚合机制,对分钟、小时、天等不同粒度的数据进行增量预计算。查询时,系统只需将已经计算完成的历史结果与最新数据组合,无需反复扫描海量原始明细。在典型的分钟级滑动窗口分析中,可实现毫秒级响应,使状态监测、故障识别等应用能够持续获得包含最新状态的分析结果,也可为进一步的在线推理提供数据支持。
例如提前维护小时级统计:
CREATEMATERIALIZEDVIEWtemperature_hourASSELECTtime_bucket('1 hour',ts)ASbucket,AVG(temperature)ASavg_tempFROMdevice_metricGROUPBYbucket;后续查询小时趋势时,只需读取已经计算完成的聚合结果,无需每次重新扫描全部历史数据,大幅提升查询效率。
让时序能力落到实际业务
技术能力最终要落到实际业务效果上。在北京轨道交通应急指挥调度平台中(点击了解详情),金仓时序数据库写入性能较原系统提升超过10倍,部分历史分析从分钟级缩短至秒级,时序数据存储空间占用降低70%~80%。
这些能力首先支撑实时监控、故障追溯和运营分析;当业务进一步引入预测模型或AI应用时,也能在此基础上获得更加完整、及时的数据支持。
例如,当AI进行设备异常诊断时,输入的数据不再只是一个温度值,而是完整的业务上下文:
{"device":"Pump001","temperature":[72.4,73.1,75.2,81.5],"vibration":[0.12,0.15,0.21,0.38],"current":[11.5,11.8,12.6,14.3],"repair":"2026-06-18 更换轴承","location":"一号车间A区"}相比"设备当前温度81.5℃"这样的单点数据,大模型能够结合历史趋势、维修记录、设备属性等多维信息进行综合推理,更准确地判断设备是否存在异常,以及异常产生的可能原因。
对于千行百业的用户而言,提前准备一套能够稳定承载时序数据、完成库内计算并组织多模态上下文的数据架构,才是面向未来最务实的选择。AI真正需要的,不只是更多的数据,而是围绕业务对象组织起来的完整上下文。只有当时序数据、关系数据、空间数据和知识数据能够自然融合,AI才能真正"读懂业务",从辅助分析走向智能决策。