1参考资料
(1)实时数据库简介, http://blog.csdn.net/liqfyiyi/article/details/6862886
(2)实时数据库简介和比较, http://www.cnblogs.com/zljini/archive/2006/05/17/402422.html
2实时数据库简介
实时数据库(RTDB-Real Time DataBase)是数据库系统发展的一个分支,是数据库技术结合实时处理技术产生的。实时数据库是“对实时性要求高的时标型信息的数据库管理系统”
实时数据库虽是系统软件,但更多是一个应用平台软件,原因是实时数据库还没有一个像SQL一样的标准,而且其功能太过综合,各厂商推出的产品功能各有侧重。
2.1在工业监控领域中,数据库应用的特点
工业监控系统的定义非常大,所有需要对运行设备进行自动化监视、控制的系统都可以定义为工业监控系统,这里面就包括火电厂厂级监控系统(SIS),在这类应用领域中,数据库应用有如下特点:
测点数量多
一个新建300WM的火电厂的SIS系统,需要处理的测点数超过了10000点,这些测点的变化周期通常在1秒钟之内,也就是说,需要将超过10000点的数据在1秒钟之内保存到数据库中。
存储量大
实时数据库的核心就是对大量的实时信息进行处理,由于成年累月的数据将占据大量的硬盘空间。例如对于 1万点的系统,每 1秒钟存储一次,每次单点占用 8个字节,那么保存 10年的数据量将有 10000*8*10*365*86400=25228800000000字节,也就是 23TGB。若用 80GB的硬盘存放,需要存放 293块硬盘!
点评:可见,这种数据量完全不是我们的系统所能比的。
时效性强
每个需要处理的测点的值都与时间相关,一秒钟之后的数据与一秒钟之前的数据可能就不一样了,因此,在保存测点值的同时,必须通过某种方法将其对应的时间也纪录起来。
2.2不选择关系型数据库的理由
关系型数据库,较难处理工业控制领域的数据。主要原因是:
插入速度慢
一般关系型数据库是基于事务处理的,在处理失效后,还要回滚作业。所以至少要存放两处,该机制使速度较慢;既使用今日的Intel P4 双至强类CPU,在对2000 个测点进行插入时也用占用10s 以上的时间。而工业监控系统需要面对的是数万点的实时数据以秒级的间隔存放数据。
维护困难
商用数据库为了保证完整性,所有的内容往往放在一个文件内,这对海量数据的存放维护发生困难。如果有一个200G 的数
据库,完全备份就可能要一天。备份文件中有一个错误就可能导致200G 的备份文件失效,所以不实用。
不能满足实时应用的需求
用数据库存放实时数据据及查询方式不能满足实时应用的需要。一个简单的例子是假定以1 秒为间隔存放好了数据,一周有数据604800 组,但是现要以60 秒为间隔取出其中10080 组或者以等间隔原则取出8888 组,标准SQL 语法就较难实现。
因此,工业监控领域以及电厂SIS应用领域,必须寻找适合实时应用需要的实时数据库系统。
2.3实时数据库的压缩算法介绍
实时数据库系统的技术核心在于数据压缩。需要将数据经压缩后再存入硬盘,当需要用数据时再解压缩硬盘上的数据。目前用于国内外实时数据库上的压缩算法通常分为两类:无损压缩和有损压缩。
2.3.1无损压缩
大多数信息的表达都存在着一定的冗余度,通过采用一定的模型和编码方法,可以降低这种冗余度。Huffman编码是无损压缩中非常著名的算法之一。WinRar和WinZip等软件都采用了类似Huffman编码的压缩方式。这些压缩方法的共同特点是:压缩和解压过程中,信息不会发生变化。
在实时数据库中,也可以采用这些无损压缩技术,但是在实现时,必须要考虑压缩和解压缩的效率,如果某个压缩算法的压缩比非常高,但是其解压的速度非常慢,则肯定不能用于实时数据库中,否则,人们在查询数据时,会等待得失去耐心。
2.3.2有损压缩
相对于无损压缩,有缩压缩肯定会丢失一些信息,但必须要保证这些丢失的信息不能影响系统数据的精度。大家在其它领域中也遇到过有损压缩的应用,比如:JPG图像压缩就是一种有损压缩,MP3声音压缩也是一种有损压缩。
在实时数据库中,有损压缩主要有两种方法:死区压缩和趋势压缩。
死区压缩
所谓死区就是定义某一测点的值不变的范围。采用死区压缩就是记录该点死区之外的数据值。例如有一测点 A,定义其死区为 1%,上次记录的测点值为 110.00,那么此次采集的测点值为 111.00,那么两者差值(111-110)/110<1%,那么认为此次测点值在该点的死区范围内,则认为不变化,即不记录。若下一次测点值为 120.00,那么两者差值(120-110)/110>1%,那么认为此次测点值在该点的死区范围外,则认为变化,记录。
趋势压缩
趋势压缩,是根据测点的阶段性趋势进行压缩,原则上只记录满足趋势条件的起点和终点。PI的旋转门压缩技术是该类算法的典范。
一般的趋势压缩如上图所示,T1到 T2时刻某测点的值保持者该趋势,那么在此趋势上下的两条容差线将是下一时刻点的死区范围,若下一时刻 T3在此两条两条容差线之间,那么不记录此值,两条容差线将适用于下一时刻,若下一时刻 T4在此两条两条容差线之外,则记录该值,趋势发生改变,两条容差线将发生改变,下一时刻测点将按改变后的容差线来判断。
2.4实时数据库的访问方式
使用实时数据库提供的API
这种方式效率最高,也最简单。
使用ODBC
大部分实时数据库提供了标准的ODBC接口,也提供了SQL查询语言,通过这些方法,用户可以将实时数据库当作一个标准的数据库来使用。但这种方法速度较慢,且不能体现实时数据的全部优势。
使用OPC方式(OLE for Process Control)
因为太多的数据库和DCS使用自己的API方式存取数据,无法做到算法的通用,因为工业监控领域提出了一个标准的存取接口,这就是OPC,如今有超过两百家产商加入到OPC组织中,声势浩大。
3实时数据库系统的主要内容
实时数据库技术是实时系统和数据库技术相结合的产物,实时数据库系统的主要内容包括:
实时数据库模型;
实时事务调度:包括并发控制、冲突解决、死锁等内容;
容错性与错误恢复;
内存组织与管理;
访问准入控制;
I/O与磁盘调度;
主内存数据库系统;
不精确计算问题;
放松的可串行化问题;
实时SQL;
实时事务的可预测性;
4实时数据库的空间占用
PI 采用了旋转门压缩专利技术和独到的二次过滤技术,使进入到PI数据库的数据经过了最有效的压缩,极大地节省了硬盘空间。据计算,每秒1万点数据存储一年,仅需要4G的空间,即一只普通硬盘也可存贮五到十年的数据。
http://blog.csdn.net/liqfyiyi/article/details/6862886
5实时数据库的存取性能
每个PI服务器可容纳150万点(高端服务器),在PI的高端产品服务器中可以处理每秒钟150万点的数据。在客户端软件ProcessBook上,可以在秒级时间内从2年或3年历史中取到1000点数据。
参考OSI公司提供的数据:实时信息点的数据值1天的平均变化次数为500,每个信息点所占的存储空间为3个字节,那1万个点在线存储1年所需的存储空间是:
变化次数 × 单点存储空间 × 信息点数 × 1年的天数 = 总空间要求
500 × 3 × 10000 × 365 = 5.475GB
6实时数据库的价格
以5000点数据库和20客户端应用为例,几个数据库价格分别是:
PI----10万美元,每个接口6000美元,OPC接口收费;
InfoPlus.21----11万美元,每个接口1万美元,OPC接口不收费;
Industrial SQL Server----6.5万美元,每个IDAS1200美元,OPC Link免费。
7常见的实时数据库
目前进入国内市场比较成熟的实时数据库产品如下所列:
美国OSIsoft公司,PI;
美国Wonderware公司,IndustrialSQL Server,简称INSQL;
美国 GE,Intellution公司,iHistorian;
美国 InStep公司,eDNA;
美国HONEYWELL公司,Process History Database,简称PHD ;
美国AspenTech公司,InfoPlus;
总的来说,国外实时数据库产品在工业监控行业占垄断地位。其中OSIsoft公司的PI采用了旋转门压缩专利技术和独到的二次过滤技术,使进入到PI数据库的数据经过了最有效的压缩,极大地节省了硬盘空间,是效率最高,使用最简单,使用最广泛的实时数据库。因为其杰出的性能,PI已经多次提高了它的价格。
7.1InSQL
这是Wonderware公司的产品,原名叫做Industrial sql server,从这个名字就可以看出,他是基于SQL SERVER来实现的, 是一款基于关系数据库的实时数据库。最新的名字叫做 Wonderware Historian,Wonderwaer已经被施耐德收购了,估计是收购之后把名字也换了,我看网上可以找到的关于InSQL的最新的版本大概就是2005年左右的9.0版。
http://global.wonderware.com/CN/Pages/WonderwareHistorian.aspx
7.1.1概述
Wonderware Historian历史库软件 是工业企业的一种高性能实时数据库,能提供无与伦比的可扩展性,支持多达 500,000 条标签,与以往产品相比,具有更大的检索吞吐量。Historian 可以配置为单一的数据收集和集合系统,也可作为更大的、多层级架构系统的一部分。如局部设施具有高分辨率数据,它们需要详细的故障诊断,企业决策者可以通过集合数据来比较多个工厂的性能。
对于在地理位置上分散的工厂,Wonderware Historian 是最理想的选择,因为它有能力在处理间断、延迟或破碎的数据时维护数据的完整性。
许多工业企业需要7 天24 小时不间断访问流程数据,同时还要保持他们的管理网络与商业网络间彼此隔离。Wonderware Historian 为上述两个要求提供高成本效益的解决方案。我们的冗余历史库选项提供了一个简单、低成本、高可用性的解决方案,同时在管理网络与商业网络之间实现极具成本效率的隔离。
拥有 Wonderware Historian 客户端的新增功能和多功能性,您可以迅速的看到您流程中有问题的地方,从而快速进行决策、故障排除和流程优化。因此,Historian 可以 SQL 兼容大量可以访问您流程数据的其他报告性解决方案。
新品登场!!!Wonderware Historian 现在以云托管解决方案的形式提供给希望降低资本支出和 IT 负担的企业。与 Microsoft 合作,借助 Microsoft 的 Windows Azure 云环境,以软件即服务 (SaaS) 的形式提供此创新性软件,为关键流程数据的数据安全和高可用性提供保障。Wonderware Historian 在线版本能够收集和汇总其他 Wonderware Historians 中的数据,还具有数据报告和分析客户端,绝对是一款完备的运营信息管理解决方案。