在工业大数据数据库存储领域,除了传统的关系型数据库和分布式数据库以外,还有一种类型的数据库是非常常用,而且是非常有必要的,就是实时数据库和时序数据库。
实时数据库诞生于美国,主要是因为现代工业制造流程及大规模工业自动化的发展,导致大量的测量数据需要集成和存储,而采用关系数据库难以满足速度和容量的要求,因此在80年代中期,开始诞生了适用于工业监控领域的实时数据库。
实时数据库其实并不单单只是一个数据库,而是一个系统,包括对各类工业接口的数据采集,海量监测数据的压缩、存储及检索,基于监测数据的反馈及控制功能等。
实时数据库的出现,主要是为了解决当时关系型数据库不太擅长的领域,包括:
1、海量数据的实时读写 *** 作
工业监控数据要求采集速度和响应速度均是毫秒级的,一个大型企业几万甚至几十万监测点都是常有的事情,这么大容量的高频数据,如果用关系数据库进行存储,由于关系库本身设计的理念,导致它很难进行每秒几十万的数据的读写 *** 作,而实时数据库通过转为快速读写设计的时标型数据结构、高频缓存等技术,可以实现海量数据的实时读写 *** 作。
2、大容量数据的存储
由于数据采集是海量的监控数据,那么如果用传统数据库进行存储,将会占用大量的存储空间,如果我们用关系数据库保存10000个监测点,每个监测点每秒钟采集一次双精度数的数据,即使不考虑索引等因素,也需要5-6T的存储空间,这里还不包括存储跟监测点相关的时间等因素,如果都包括,再建立索引,则需要15T-20T的存储空间。实时数据库采用了专门的压缩算法,包括哈佛曼算法、旋转门算法以及一些二次压缩算法,压缩比普遍能够达到30:1左右,再加上对于时间及索引的特殊处理,存储量能够缩小到关系库的1/40,因此,上面的例子只需要500G的空间就能够进行有效存储了。
3、集成了工业接口的数据采集
由于历史和垄断的原因,目前工业通讯、传输的协议种类繁多,实时库一般都集成了大量的工业协议接口,可以对各种类型的工业协议进行解析和传输。同时,随着实时数据库的发展,接口软件部分也慢慢被独立出来,即可以与实时数据库核心集中部署在1台计算机上,也可以单独部署在接口机上,从而提供了更好的可扩展性和稳定性。
4、集成控制功能,可实现实时控制
实时数据库一般都提供下行控制接口,并且是高速写出。写的效率严重依赖于接口通讯效率和执行机构。因此,实时数据库大都是从工控软件厂商发展而来的,他们就有丰富的工业控制写入的经验。即便如此,毕竟工业系统对时序有严格的要求,而数据库从读到写,会出现时滞,因此,实时数据库一般不适宜对快速开关量的控制。
在云计算的时代,实时数据库的一些缺点就慢慢的显露出来了。
首先,由于实时数据库是基于时标进行处理的,就导致它只能简单的使用时间段进行查询和检索,当然,各大厂商也开发了许多工具,但无论如何检索的丰富性不能和关系库比拟。
其次,由于实时库都是出售给大型工业企业的,因此价格昂贵,在物联网时代,对于中小工业企业来说,是个不小的成本。
再次,传统实时库在部署时不够方便灵活,传输也更多的考虑工业网络,甚少考虑互联网的情况,不太适应当下云计算环境的部署。
这个时候,新兴的时序数据库就出现了。时序数据库在2017年火了起来,出现了大量的开源和商业产品,时序数据库就是存放时序数据的数据库,并且需要支持时序数据的快速写入、持久化、多纬度的聚合查询等基本功能。时序数据库其实主要是实时数据库的数据存储部分,但是,由于它采用了新的技术,极大地扩展了数据的容量,除了数据点和时间戳之外,还提供标签和内容等对数据的描述,并且提供各种聚合查询,弥补了实时库的缺陷。
但是,时序数据库不提供工业接口、下行控制等功能,这些都需要开发人员自行开发,或者将原有的接口与时序库对接。
当然,不管是实时数据库还是时序数据库,都在飞速发展中,双方一定会互相借鉴,互相学习,会提供更好、更多的产品供工业大数据使用。
责任编辑:CT
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)