当前位置: 首页 > news >正文

实时数据库:优势和报价

1参考资料

(1)实时数据库简介, http://blog.csdn.net/liqfyiyi/article/details/6862886

(2)实时数据库简介和比较, http://www.cnblogs.com/zljini/archive/2006/05/17/402422.html

(3)实时数据库介绍,http://wenku.baidu.com/link?url=0IQOFEYetgZ8DUhKB-lcI-KYPl9V3IvohysgLihjgXpQ-F-1DbcApdfw3jiIaM6NsbvSd_huD6QuSvXLFhbftl8k1niTC2KZJ78bh2IqZ6K

 

2实时数据库简介

实时数据库(RTDBReal 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编码是无损压缩中非常著名的算法之一。WinRarWinZip等软件都采用了类似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 HistorianWonderwaer已经被施耐德收购了,估计是收购之后把名字也换了,我看网上可以找到的关于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 中的数据,还具有数据报告和分析客户端,绝对是一款完备的运营信息管理解决方案。

 



相关文章:

  • 使用express搭建简单的本地服务器
  • 动手动脑
  • 作为程序员,有哪些神级编程资源呢
  • md5加密
  • 闭包得从底层理解
  • Linux wget auto login and backup database
  • Vue组件里的data为什么是函数,而不是对象
  • webpack的理解和使用
  • Building a RESTful Web Service(转)
  • Uncaught SyntaxError: Unexpected token ‘<‘完美解决
  • oVirt (Open Virtual) 之 VDSM 学习笔记 (二) 流程追踪
  • 完美解决[webpack-cli] Unable to load ‘@webpack-cli/serve‘ command
  • HTTP相关概念
  • 原型与原型链的底层理解
  • 浅谈promise
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • DOM的那些事
  • PHP CLI应用的调试原理
  • python大佬养成计划----difflib模块
  • React-redux的原理以及使用
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Webpack入门之遇到的那些坑,系列示例Demo
  • yii2中session跨域名的问题
  • 多线程事务回滚
  • - 概述 - 《设计模式(极简c++版)》
  • 看域名解析域名安全对SEO的影响
  • 前端学习笔记之观察者模式
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 世界上最简单的无等待算法(getAndIncrement)
  • 算法-图和图算法
  • 《天龙八部3D》Unity技术方案揭秘
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • #Z0458. 树的中心2
  • #宝哥教你#查看jquery绑定的事件函数
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (定时器/计数器)中断系统(详解与使用)
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转载)Google Chrome调试JS
  • (转载)虚函数剖析
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .gitignore文件_Git:.gitignore
  • .NET gRPC 和RESTful简单对比
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET开发人员必知的八个网站
  • .net流程开发平台的一些难点(1)
  • .php文件都打不开,打不开php文件怎么办
  • .stream().map与.stream().flatMap的使用
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • @AutoConfigurationPackage的使用
  • [ MSF使用实例 ] 利用永恒之蓝(MS17-010)漏洞导致windows靶机蓝屏并获取靶机权限
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [Android] Implementation vs API dependency