APP下载

如何用时序数据库的概念来理解和处理工控资料

消息来源:baojiabao.com 作者: 发布时间:2024-05-19

报价宝综合消息如何用时序数据库的概念来理解和处理工控资料

时序数据库虽然与工控系统的实时数据库功能相似,但由于主要使用物件和用途不同,定义了不少新概念,一般了解工控资料的人并不能简单地就能理解。

时序数据库主要关注了两个产品:InfluxDB和OpenTSDB,前者在评分中领先,设计理念比较先进,后者基于HBase,可以支援海量资料。

时序数据库的主要使用物件是机房运维人员,用途是计算机丛集中服务器的监控,采集的是计算机的执行资料,比如Power、CpuUsage等,并且对应有专门软件采集计算机引数,如Telegraf。这些监控专案并不对应感测器,只是服务器执行的引数。

服务器执行引数和感测器资料的共同之处是均为时间序列资料,简称时序资料。

服务器因为都是计算机,所以资料的同质性非常强,主要就是CPU、内存、硬盘等的执行引数。因此,核心物件是引数,而不是计算机。把监控的引数放在管理的首位,给予专有的名词,称为指标(Metric),而服务器是用Tag来标识。Tag可以有多个,比如部署位置等。

在工控系统的实时数据库中,装置种类很多,感测器的种类也很多,相同装置上安装相同感测器的情况不多,因此对感测器的管理比较重视,甚至是核心。感测器每个测点都有一个唯一的标识,称为位号,或称变数名,本文中统称为感测器号。

在时序数据库中,一个感测器号需要用Metric加Tag来唯一表示。对应工控系统,在名为ServerA服务器上,CPU使用率是由一个虚拟感测器测量的值,该虚拟感测器安装在该服务器内部,程式码为SA_100。但在时序数据库中,必须定义为Metric=CpuUsage,Tag是Hostname=ServerA。

实时数据库中的每条记录称为测量资料,由感测器号SensorID、时间戳Timestamp、数值Value组成,比如一个压力感测器的编号是HD76_3000_A2,时间戳1536845686,数值为0.258。

时序数据库中的每条资料称为资料点(Data Point),由Metric、Tags、Value、Timestamp

组成。

InfluxDB中Metric对应为Measurement。

实时数据库很少做不同感测器之间资料的运算,如计数、平均值、最大值、最小值、标准差、中位数等。但时序数据库不同,需要按照指标对来自多个感测器的资料进行这些聚合计算。

大资料研究的是整个森林,而不是一颗颗孤立的树木。时序数据库增加Metric和Tag,就是支援按照不同Tag组合进行检索,按相同Metric进行聚合计算,并且从底层支援快速聚合计算。

在大资料专案中,因为时序资料的资料量非常大,因此不能直接放在资料仓库中。最好的处理办法是把时序资料放在时序数据库中,再把聚合计算的结果放在资料仓库中。

实时数据库和时序数据库是互补关系。实时数据库可以作为是时序数据库的资料来源。一个企业如果有多条生产线,可能就有多个实时数据库,每个时序数据库因此对应多个实时数据库。

本文为范煜原创文章。

2019-11-20 06:51:00

相关文章