利用 IoTDB 替换 Druid.io 服务太极股份电厂、军工制造类项目,采集精度达纳秒级
1►
公司介绍
太极计算机股份有限公司(以下简称“太极股份”)成立于 1987 年,是国内电子政务、智慧城市和关键行业信息化的领先企业,2010 年在深圳证券交易所中小板上市。公司面向政府、公共安全、国防、企业等行业提供信息系统建设和云计算、大数据等相关服务,涵盖信息基础设施、业务应用、数据运营、网络信息安全等综合信息技术服务。
太极计算机股份有限公司基于 Apache IoTDB 构建发电机组的远程分析平台,基于热电厂故障录波器/油色谱分析仪数据,从设备性能、设备健康度等多个维度对传统发电机组各设备分析。目前第一阶段已经服务 4 家电厂 11 个发电机组的数据。对风机锅炉设备、发电机、变电设备等主辅机八万多关键测点进行监控。
2►
业务场景
太极股份的工业项目大致可分为普通制造业和高端制造业两大类。其中普通制造业在数据采集精度上普遍采用秒级数据或毫秒级;高端制造业普遍采用微秒级和纳秒级数据。就以下两个案例具体场景说明:
2.1 供热场景
在以往的供暖供热过程中缺少对于下一阶段的供热量的预判,导致无效供热、过度供热、供热不足等情况,。想以此次项目为突破口结合气象数据、楼控数据、户控数据、换热站数据、官网数据、热源侧数据等总和评判供热量。实现智慧供热,解决以往供热缺少评判标准的问题;同时也解决了按需计费、管网、热战等相关供热过程中各重要组成部分的工况监控,减少了人为巡网等工作,减少了人力投入。
对于供热项目数据上有以下特点:
定期同步性:
由于某些边缘采集设备只能使用 4G/5G 设备将数据传入云端,我们在云端部署一套数据库进行数据存储,定期将数据回传到内网进行数据处理与使用。
数据保存时间长:
出于业务考虑,每份数据希望至少保存五年,为智慧供热算法积攒历史数据。
数据采集频率不同:
数据来源不同,导致数据的采集频率不同。例如,换热站数据为秒级,非自管换热站为分钟级,气象数据为小时级,管网数据为秒级、关键节点数据为秒级、调节操作指令为秒级、户控楼控为分钟级等,所有的数据在时序库中需要进行时间对齐,便于后续为智慧供热提供可靠的数据依据。
2.2 某军工制造类项目
此项目中使用的数采设备大部分为 IEEE-1588 标准(PTP 协议),该类设备采集数据的时戳为纳秒级。此项目主要目的是将部件性能指标和整体性能指标在同一时间维度下进行评判,以此评估设计中某些改动对零部件/整体的性能和状态。
该部分数据有以下特点:
数据量大:
每次试验中使用的测点不多,但是数据的频次高 20Khz、50Khz、100Khz、200Khz、400Khz,一次试验数据就能在 1T 以上。
数据对比:
同型号零件/设备,在某些改动/设计前后都将进行相同时长的试验,作为评判改动/设计的标准。
数据同步需具备安全保密性:
安全管控要求数据不可以直接同步,数据同步需要经过安全部门的专业审核,这样试验场收集的数据才能反馈给设计部门。
保存时间长且稳定:
军工制造类项目进行的试验对安全性、稳定性、严谨性要求极高,这就需要数据库系统具有极高的稳定性、精准性和安全性。对于某些改动和设计的试验数据需要永久保存。
3►
技术方案选型
由于在之前的项目中我们使用过 Druid.io 进行过时序数据的存储,其表现并不是特别突出,主要问题体现为以下几点:
技术运维难度大:
Druid.io 的技术架构较为复杂,而且对于 zookeeper 有很强的依赖,系统间各个组件的耦合度较高,配置繁琐,出现问题不易定位。
数据存储压缩率低:
相较于专业的时序数据库,Druid.io 并不提供相关的有损压缩方案,且其无损压缩数据文件和专业时序库的无损压缩文件相比使用空间也较大。
时间精度:
在某些高端制造业中需要使用纳秒的时戳对数据进行标记,这点 Druid.io 无法满足我们的要求,需要对时戳数据进行处理。
而反观 IoTDB 在很多方面都有其优越性:
极致的性能:
面对秒级百万次的输入毫无压力,且查询和压缩比其他方面也都展现出其强大的支持能力。
多样的查询处理:
由于数据来源不同、数据的采集频率不同,在数据处理中需要很多的插值、虚拟值、抽样值等,IoTDB 在这些方面表现突出,有专业的插值算法和抽样算法,通过抽样取数也为前台展现减轻了压力。
丰富的算法支持:
在某些制造业中需要傅里叶变幻、小波等专业数据处理方法,IoTDB 也一并提供,这也为分析数据提供了很大的便利。
总体上看,IoTDB 与传统时序数据库相比,存储成本与查询性能显著提升,节省了约 20%的服务器成本,起到了明显的降本增效作用。并且在接入 TDM 等毫秒级数据时表现良好。目前,基于 IoTDB 开发的热力学机理模型、评估模型等平稳运行,为火电机组诊断节约了人力、资金和时间成本。
关于我们
作为全球性开源项目,截至目前 Apache IoTDB 已拥有 238 名贡献者、3KStar、794 Forks。我们为大家提供了参与指南,欢迎越来越多的小伙伴助力 Apache IoTDB 项目的不断发展与前进。
欢迎迈出加入 Apache IoTDB 社区的第一步!
微信群:添加好友 apache_iotdb
github 仓库:https://github.com/apache/iotdb
版权声明: 本文为 InfoQ 作者【Apache IoTDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/aaec8d37c2593e4221f21e50a】。文章转载请联系作者。
评论