实时数据库
实时数据库是数据库系统发展的一个分支,它适用于处理不断更新的快速变化的数据及具有时间限制的事务处理。实时数据库技术是实时系统和数据库技术相结合的产物。实时数据库最起初是基于先进控制和优化控制而出现的,对数据的实时性要求比较高,因而实时、高效、稳定是实时数据库最关键的指标。
早期实时数据库的概念即我们所说的内存数据库,其相当于数据中枢的作用,将厂级相互孤立的DCS数据有效整合起来,在厂级应用中某个DCS的数据可为其他DCS的工艺算法提供数据支持,其有效解决了数据孤岛问题,拓展了DCS的功能,因而,实时数据库在先进控制和优化控制中起到了尤为重要的作用。
但早期的内存数据库并不能有效的解决实时数据的细时间粒度压缩存储,工业模型对象数值属性高度分类抽象,大容量数据的高效实时检索及处理等关键问题。而实时数据库在数据通信、数据组织、数据存储、数据检索、数据访问、数据处理、数据展现等方面的专业化及产品化,为构建基于大容量实时历史数据之上的分析应用提供了便捷稳定的数据支撑,使应用系统可以从更高更深层次充分利用宝贵的生产实时历史数据。
目前,实时数据库已广泛应用于电力、石油石化、交通、冶金、军工、环保等行业,是构建工业生产调度监控系统、指挥系统,生产实时历史数据中心的不可缺少的基础软件。
关系数据库
关系数据库,是指采用了关系模型来组织数据的数据库。关系模型是在1970年由IBM首先提出,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为数据库架构的主流模型。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。关系型数据库有着以下特点:
容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解。
使用方便:通用的SQL语言使得操作关系型数据库非常方便,程序员甚至于数据管理员可以方便地在逻辑层面操作数据库,而完全不必理解其底层实现。
易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大降低了数据冗余和数据不一致的概率。
目前,关系数据库广泛应用于各个行业,用于构筑管理信息系统,如ERP,MIS,EAM等重要系统,是构建管理信息系统,存储及处理关系数据的不可缺少基础软件。
两种数据库之间的一些差别
? 数据的组织方式
实时数据库可以简单地理解为它是这样的数据库:由测点信息库、实时数据库、历史数据库三个数据库组成。
测点信息库含有一个测点基本信息字段的一张表,这个表以测点标签作为关键字,对应一条测点基本信息的记录包含一条测点的基本配置信息,如压缩偏差,例外偏差,测点描述等。用户可从此数据库中查询测点的基本信息。实时数据库是内存快照数据库,反映了生产实时数据的时间戳、数值、质量等秒级变化。用户可从此数据库中查询生产实时数据的实时数据值(值,时间戳,质量)。
历史数据库是含有一个以测点名称字段和时间字段为关键字的一张表,这张表的另外的一个重要的字段就是数值字段,用来存储测点的采集值,除了这些字段,还可以包含数据的状态,数据质量字段等。随着时间的变化,不断地将实时数据库中的实时数据进行压缩过滤,并更新磁盘历史数据文件中的表里的数据。用户可从此数据库中查询生产实时数据的历史样本值或历史插值数据。
而对于关系数据库则是根据各个实体之间的关系来设计数据表的。
? 系统稳定性
由于实时数据库记录的是和生产相关的数据,并且和时间相关,所以要求其必须能够长时间稳定运行,否则就会导致数据的丢失。目前一些实时数据库已经具有缓存数据的功能,当数据采集机器和实时数据库服务器之间通信出现故障时,可以把采集到的数据缓存到本地,当通信恢复正常后,把缓存的数据写入到实时数据库服务器中,极大地保证了数据的完整性。
而对于关系数据库来说,如果不是应用在关键业务,比如金融证券等,对稳定要求一般来说不是很高。
? 数据来源
针对不同的类型的企业,实时数据库的数据的来源也不尽相同。主要来源有DCS控制系统,数据采集系统(SCADA),手工录入,关系数据库等。这些数据的主要特点就是都和生产直接相关,并且大多数的数据都是数值型数据,比如设备或介质的压力、温度、流量、位置、电压、电流、功率等。
关系数据库的来源更加多样。除了记录数值数据外,也记录描述性的数据,如姓名家庭住址等信息。
一般来说,实时数据库的数据来源一般是设备。而关系数据库的数据来源一般是来自于人。
? 数据压缩
实时数据库因为存储的数据量非常大,比如要采集10000点的数据,每5秒采集一个数据,假设采集的都是32位浮点数,那么一天的数据量(仅数值属性不含时间属性)就是10000*(60/5)*60*24*4/1024=675000K,大约675M的数据。由此可见数据量的庞大,而且占用磁盘的空间大,对数据的访问速度也会降低。因此各个数据库厂家大都开发出自己的数据压缩算法,对数据进行压缩。常用的压缩算法可以分为三类:无损压缩,有损压缩,二级压缩。其中,无损压缩一般以通用压缩理论为基础,采取huffman等经典的压缩算法;而有损压缩则更多地考虑了工业实时数据的特征,而采取的一些特殊舍点算法;二级压缩技术,则是同时利用了这两种数据压缩技术。实时数据库的无损压缩以通用压缩理论为基础。目前比较著名的有损压缩算法,有常用的旋转门压缩算法,以及一些变通压缩算法(如在旋转门算法基础上改用二次均方差作为偏差比较,以提高数据还原精度),这些算法原理都比较简单。
关系型数据库则不会对数据进行压缩。
? 数据的访问方式
实时数据库一般有以下3种方式访问数据
1) 使用自己的API,这种方式效率最高也最简单。
2) 使用ODBC或者OLEDB,这种方式不大常用,主要是给那些刚刚接触实时数据库或者以前对关系型数据库了解的用户使用的。
3) 使用Opc方式访问数据。Opc是一种广泛使用的工业标准,虽然效率不高,但是目前很多的厂家都支持。
关系数据库访问数据的方式是通过结构化查询语言(SQL)来访问的。
? 应用领域
过程控制系统是实时数据库系统最重要的应用领域之一.在生产装置运行过程中,实时数据库实时记录采集装置的运行数据,随时掌握装置的运行状况,并通过对生产过程的关键数据的监控和分析,对出现的问题及时处理,使生产的运行状态保持安全平稳,当生产状况发生变化时可以及时作出反映;通过对影响原材料用量的过程监视以及对水电汽的用量的监测分析,可以及时发现问题,特别对生产调度人员来说,可以及时地平衡物料供应,减少单耗,提高经济效益。
而关系数据库的应用则广泛的多,在各行各业基本都可以见到。大多数应用在管理方面,比如管理信息系统(MIS),客户关系管理(CRM)等。
? 客户端工具
实时数据库由于目前并没有统一的标准,各个实时数据库客户端工具基本上都是由厂商自己提供的,主要是数据展示工具,组态工具,管理工具等。因为主要是面向流程工业,所以实时数据库都带有组态和发布工具。
关系数据库因为应用范围广泛,客户工具相当丰富。除了厂商提供的工具外,第三方软件厂商也可以为关系数据库厂商开发客户端工具。
两种数据库之间的集成趋势
虽然实时数据库和关系数据库有着很多的不同,但是目前实时数据库和关系数据库集成的趋势越来越明显。将生产管理信息系统中使用的关系数据库和实时数据库集成到一起,可以同时满足控制和管理的要求,真正成为管理控制一体化的平台。例如,目前大多行业均利用实时数据库与关系数据库作为基础数据库软件构建监控中心及数据中心的基础数据库。其中实时数据库处理并存储生产实时数据,关系数据库处理并存储业务关系数据。