在工业大数据数据库存储领域,除了传统的关系型数据库和分布式数据库以外,还有一种类型的数据库是非常常用,而且是非常有必要的,就是实时数据库和时序数据库。
实时数据库诞生于美国,主要是因为现代工业制造流程及大规模工业自动化的发展,导致大量的测量数据需要集成和存储,而采用关系数据库难以满足速度和容量的要求,因此在80年代中期,开始诞生了适用于工业监控领域的实时数据库。
实时数据库其实并不单单只是一个数据库,而是一个系统,包括对各类工业接口的数据采集,海量监测数据的压缩、存储及检索,基于监测数据的反馈及控制功能等。
实时数据库的出现,主要是为了解决当时关系型数据库不太擅长的领域,包括:
1、海量数据的实时读写操作
工业监控数据要求采集速度和响应速度均是毫秒级的,一个大型企业几万甚至几十万监测点都是常有的事情,这么大容量的高频数据,如果用关系数据库进行存储,由于关系库本身设计的理念,导致它很难进行每秒几十万的数据的读写操作,而实时数据库通过转为快速读写设计的时标型数据结构、高频缓存等技术,可以实现海量数据的实时读写操作。
2、大容量数据的存储
由于数据采集是海量的监控数据,那么如果用传统数据库进行存储,将会占用大量的存储空间,如果我们用关系数据库保存10000个监测点,每个监测点每秒钟采集一次双精度数的数据,即使不考虑索引等因素,也需要5-6T的存储空间,这里还不包括存储跟监测点相关的时间等因素,如果都包括,再建立索引,则需要15T-20T的存储空间。实时数据库采用了专门的压缩算法,包括哈佛曼算法、旋转门算法以及一些二次压缩算法,压缩比普遍能够达到30:1左右,再加上对于时间及索引的特殊处理,存储量能够缩小到关系库的1/40,因此,上面的例子只需要500G的空间就能够进行有效存储了。
3、集成了工业接口的数据采集
由于历史和垄断的原因,目前工业通讯、传输的协议种类繁多,实时库一般都集成了大量的工业协议接口,可以对各种类型的工业协议进行解析和传输。同时,随着实时数据库的发展,接口软件部分也慢慢被独立出来,即可以与实时数据库核心集中部署在1台计算机上,也可以单独部署在接口机上,从而提供了更好的可扩展性和稳定性。
4、