欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

实时/历史数据库和关系型数据库的区别

程序员文章站 2022-03-27 12:29:03
...

实时/历史数据库和关系型数据库的区别 一、实时数据库与关系型数据库简介 (1) 实时数据库 实时数据库是数据库系统发展的一个分支,它适用于处理不断更新的快速变化的数据及具有时间限制的事务处理。实时数据库技术是实时系统和数据库技术相结合的产物。实时

实时/历史数据库和关系型数据库的区别

一、实时数据库与关系型数据库简介

(1)实时数据库

实时数据库是数据库系统发展的一个分支,它适用于处理不断更新的快速变化的数据及具有时间限制的事务处理。实时数据库技术是实时系统和数据库技术相结合的产物。实时数据库最起初是基于先进控制和优化控制而出现的,对数据的实时性要求比较高,因而实时、高效、稳定是实时数据库最关键的指标。

早期实时数据库的概念即我们所说的内存数据库,其相当于数据中枢的作用,将厂级相互孤立的DCS数据有效整合起来,在厂级应用中某个DCS的数据可为其他DCS的工艺算法提供数据支持,其有效解决了数据孤岛问题,拓展了DCS的功能,因而,实时数据库在先进控制和优化控制中起到了尤为重要的作用。

但早期的内存数据库并不能有效的解决实时数据的细时间粒度压缩存储,工业模型对象数值属性高度分类抽象,大容量数据的高效实时检索及处理等关键问题。而实时数据库在数据通信、数据组织、数据存储、数据检索、数据访问、数据处理、数据展现等方面的专业化及产品化,为构建基于大容量实时历史数据之上的分析应用提供了便捷稳定的数据支撑,使应用系统可以从更高更深层次充分利用宝贵的生产实时历史数据。

目前,实时数据库已广泛应用于电力、石油石化、交通、冶金、军工、环保等行业,是构建工业生产调度监控系统、指挥系统,生产实时历史数据中心的不可缺少的基础软件。

(2)关系数据库

关系数据库,是指采用了关系模型来组织数据的数据库。关系模型是在1970年由IBM首先提出,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为数据库架构的主流模型。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。关系型数据库有着以下特点:

容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解。

使用方便:通用的SQL语言使得操作关系型数据库非常方便,程序员甚至于数据管理员可以方便地在逻辑层面操作数据库,而完全不必理解其底层实现。

易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大降低了数据冗余和数据不一致的概率。

目前,关系数据库广泛应用于各个行业,用于构筑管理信息系统,如ERP,MIS,EAM等重要系统,是构建管理信息系统,存储及处理关系数据的不可缺少基础软件。

二、两种数据库之间的一些差别

(1)数据的组织方式

实时数据库可以简单地理解为它是这样的数据库:由测点信息库、实时数据库、历史数据库三个数据库组成。

实时数据库是内存快照数据库,反映了生产实时数据的时间戳、数值、质量等秒级变化。用户可从此数据库中查询生产实时数据的实时数据值(值,时间戳,质量)。

历史数据库是含有一个以测点名称字段和时间字段为关键字的一张表,这张表的另外的一个重要的字段就是数值字段,用来存储测点的采集值,除了这些字段,还可以包含数据的状态,数据质量字段等。随着时间的变化,不断地将实时数据库中的实时数据进行压缩过滤,并更新磁盘历史数据文件中的表里的数据。用户可从此数据库中查询生产实时数据的历史样本值或历史插值数据。

而对于关系数据库则是根据各个实体之间的关系来设计数据表的。

(2) 系统稳定性

由于实时数据库记录的是和生产相关的数据,并且和时间相关,所以要求其必须能够长时间稳定运行,否则就会导致数据的丢失。目前一些实时数据库已经具有缓存数据的功能,当数据采集机器和实时数据库服务器之间通信出现故障时,可以把采集到的数据缓存到本地,当通信恢复正常后,把缓存的数据写入到实时数据库服务器中,极大地保证了数据的完整性。

而对于关系数据库来说,如果不是应用在关键业务,比如金融证券等,对稳定要求一般来说不是很高。

(3)数据来源

针对不同的类型的企业,实时数据库的数据的来源也不尽相同。主要来源有DCS控制系统,数据采集系统(SCADA),手工录入,关系数据库等。这些数据的主要特点就是都和生产直接相关,并且大多数的数据都是数值型数据,比如设备或介质的压力、温度、流量、位置、电压、电流、功率等。

关系数据库的来源更加多样。除了记录数值数据外,也记录描述性的数据,如姓名家庭住址等信息。

一般来说,实时数据库的数据来源一般是设备。而关系数据库的数据来源一般是来自于人。

(4)数据压缩

实时数据库因为存储的数据量非常大,比如要采集10000点的数据,每5秒采集一个数据,假设采集的都是32位浮点数,那么一天的数据量(仅数值属性不含时间属性)就是10000*(60/5)*60*24*4/1024=675000K,大约675M的数据。由此可见数据量的庞大,而且占用磁盘的空间大,对数据的访问速度也会降低。因此各个数据库厂家大都开发出自己的数据压缩算法,对数据进行压缩。常用的压缩算法可以分为三类:无损压缩,有损压缩,二级压缩。其中,无损压缩一般以通用压缩理论为基础,采取huffman等经典的压缩算法;而有损压缩则更多地考虑了工业实时数据的特征,而采取的一些特殊舍点算法;二级压缩技术,则是同时利用了这两种数据压缩技术。实时数据库的无损压缩以通用压缩理论为基础。目前比较著名的有损压缩算法,有常用的旋转门压缩算法,以及一些变通压缩算法(如在旋转门算法基础上改用二次均方差作为偏差比较,以提高数据还原精度),这些算法原理都比较简单。