本文介绍了实时数据库和时序数据库,并就其特点、应用场景、相关厂商、联系与区别做介绍。
![实时历史数据库架构.png](https://img-blog.csdnimg.cn/img_convert/ddd8d3b24107ac2ebf328f3fd390c603.png#clientId=ud49e0880-2e25-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=u57ec8388&margin=[object Object]&name=实时历史数据库架构.png&originHeight=706&originWidth=1262&originalType=binary&ratio=1&rotation=0&showTitle=false&size=513705&status=done&style=none&taskId=u2c6453a0-b5b9-49e5-87a5-8e0fd335050&title=)
实时数据库诞生于美国,主要是因为现代工业制造流程及大规模工业自动化的发展,导致大量的测量数据需要集成和存储,而采用关系数据库难以满足速度和容量的要求,因此在80年代中期,开始诞生了适用于工业监控领域的实时数据库。
在传统工业控制领域,由于其自身的特殊性,有很多对实时数据处理的要求,特别是在流程工业中,对各个生产环节的监控要求十分苛刻,需要通过监测数据实时反映出系统的状态,所以对于实时数据库的处理十分看重。因此工业实时数据库应运而生,其主要用于工业过程数据的采集、存储以及查询分析,以实现过程状态的实时监控。
实时数据库其实并不单单只是一个数据库,而是一个系统,包括对各类工业接口的数据采集,海量监测数据的压缩、存储及检索,基于监测数据的反馈及控制功能等。
实时数据库的出现,主要是为了解决当时关系型数据库不太擅长的领域,包括:
工业监控数据要求采集速度和响应速度均是毫秒级的,一个大型企业几万甚至几十万监测点都是常有的事情,这么大容量的高频数据,如果用关系数据库进行存储,由于关系库本身设计的理念,导致它很难进行每秒几十万的数据的读写操作,而实时数据库通过转为快速读写设计的时标型数据结构、高频缓存等技术,可以实现海量数据的实时读写操作。
由于数据采集是海量的监控数据,那么如果用传统数据库进行存储,将会占用大量的存储空间,如果我们用关系数据库保存10000个监测点,每个监测点每秒钟采集一次双精度数的数据,即使不考虑索引等因素,也需要5-6T的存储空间,这里还不包括存储跟监测点相关的时间等因素,如果都包括,再建立索引,则需要15T-20T的存储空间。实时数据库采用了专门的压缩算法,包括哈佛曼算法、旋转门算法以及一些二次压缩算法,压缩比普遍能够达到30:1左右,再加上对于时间及索引的特殊处理,存储量能够缩小到关系库的1/40,因此,上面的例子只需要500G的空间就能够进行有效存储了。
由于历史和垄断的原因,目前工业通讯、传输的协议种类繁多,实时库一般都集成了大量的工业协议接口,可以对各种类型的工业协议进行解析和传输。同时,随着实时数据库的发展,接口软件部分也慢慢被独立出来,即可以与实时数据库核心集中部署在1台计算机上,也可以单独部署在接口机上,从而提供了更好的可扩展性和稳定性。
实时数据库一般都提供下行控制接口,并且是高速写出。写的效率严重依赖于接口通讯效率和执行机构。因此,实时数据库大都是从工控软件厂商发展而来的,他们就有丰富的工业控制写入的经验。即便如此,毕竟工业系统对时序有严格的要求,而数据库从读到写,会出现时滞,因此,实时数据库一般不适宜对快速开关量的控制。
实时历史数据库主要应用于工业控制领域。工业生产分为两大类:流程型和离散型,流程型以大批量生产为主,离散型往往是多个零件经过一系列不连续的工序的加工为主。
比如:
国内:北京三维力控、亚控、北京和利时、紫金桥
国外:GE iHistorian、OSI PI
![实时数据库行内玩家.png](https://img-blog.csdnimg.cn/img_convert/bc4d85518f2dc5d7750944b666ed937a.png#clientId=ud49e0880-2e25-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=OBNro&margin=[object Object]&name=实时数据库行内玩家.png&originHeight=551&originWidth=1028&originalType=binary&ratio=1&rotation=0&showTitle=false&size=97670&status=done&style=none&taskId=u59a508b3-2cfe-4899-a686-4dca237569e&title=)
时序数据库全称为时间序列数据库。时间序列数据库指主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。
时序数据库诞生于互联网,兴起于物联网,主要为了支持海量网络监控及传感器数据的快速写入和分析需求。
国外:influxDB、Prometheus、TimescaleDB、Graphite、QuestDB、AWS Timestream、OpenTSDB
国内:TDengine、IoTDB(清华开源)
![时序数据库排名.png](https://img-blog.csdnimg.cn/img_convert/9f76f94f16690c99b7d29bf9a76e31df.png#clientId=ud49e0880-2e25-4&crop=0&crop=0&crop=1&crop=1&from=drop&id=u1ff5e942&margin=[object Object]&name=时序数据库排名.png&originHeight=798&originWidth=1039&originalType=binary&ratio=1&rotation=0&showTitle=false&size=66811&status=done&style=none&taskId=uf71e23d1-866d-485d-bfdf-db307147a65&title=)
实时数据库的特点:
优势:
局限性:
时序数据库特点:
优势:
局限性:
另外摘录了网上针对这两者的比较:
智能化煤矿的建设过程中,综合自动化平台这块目前主要用到实时数据库、组态软件等技术架构,原因上面也提到。随着智能化的发展,煤矿上私有云,以后可能出现的国资云,甚至是公有云以及大数据、物联网等技术的运用,时序数据库肯定会得到进一步运用。
实时数据库:一夜之间,我感受到了时序数据库的威胁
时序数据库 VS 工业实时数据库
工业互联网平台的七种武器之时序数据库
2021工业实时数据库行业白皮书
7 Powerful Time-Series Database for Monitoring Solution
数据库排名
Data historians vs time-series: which is better for data analysis
Operational Historians and Time-Series Data Platforms for Digital Transformation
TDengine在华夏天信露天煤矿智慧矿山操作系统的应用https://www.taosdata.com/blog/2022/03/04/4983.html
11 亿条数据压缩到 12 GB,TDengine 在陕煤矿山项目的落地实践https://www.taosdata.com/blog/2022/01/26/4904.html
TDengine在华夏天信露天煤矿智慧矿山操作系统的应用https://www.taosdata.com/blog/2020/06/09/1588.html