自从写下《实时数据库领域中有关数据压缩的认识误区》之后,有一位名为nsis的前辈发表了一些评论,内容如下:
"用关系数据库保存10000个每秒钟变化一次的双精度数"这个命题就是可笑的!如果"用关系数据库保存10000个每毫秒钟变化一次的双精度数"不是更费盘了吗?奉劝作者将精力放在工程上吧,别搞这些毫无意义的"理论"了!我们的实时数据库运行十几年了,从来就不需要数据压缩。希望从洋人的理论怪圈走出来吧。实时数据库的工程问题要解决的问题多得很,比"数据压缩"难得多!
作者关于什么是"实时数据库"都没有搞懂,还在讨论什么数据压缩!实际上,如果不是为了存储历史数据,我们的实时数据库根本就不需要磁盘就能运行!请Linkman先生先搞请实时数据和历史数据的区别,实时数据库和历史数据库的区别,实时数据库和关系数据库的区别,再讨论问题吧!
又一个可笑的命题"数据的高压缩率意味着整个系统的数据处理速度更快"空间和时间是计算机技术的基本矛盾,一个算法不可能既减少计算又节省空间,数据压缩可能节省空间,但是数据压缩肯定要反压缩,怎么可能比不压缩还要"数据处理速度更快"呢?我们是买不到12922G的盘,但是我们没有数据压缩,600G的盘够我们存20年的历史数据.就算存在磁盘的数据是被压缩的,这种数据是不能直接给人看的,必须反压缩后给人看,反压缩后的数据仍然是大量的,多做了数据处理的工作,怎么会“系统的数据处理速度更快”呢?
这种文章不值得评论,这是本人最后一次"评论"!
为什么nsis前辈的评价与我的结论会有如此大的差别呢?我认真地查看了nsis前辈发布的一些文章,终于明白了原因所在,大家如果对nsis前辈的文章感兴趣,可以在百度上以“nsis”和“实时信息系统”为关键字搜索一下。
最关键的原因是:nsis前辈所说的实时数据库与我所说的实时数据库,不是同一个概念。
我在《数据库、实时数据库的分类和厂家列表》一文中曾提到,实时数据库可以细分为以下几类:
l 实时数据库
n 硬实时数据库;
n 固实时数据库;
n 软实时数据库
u 处理型软实时数据库;产品特征:
l 需要及时处理采集输入数据,针对输入数据及时运算及输出;
l 对历史数据的使用,只限于报表、查询等简单应用;
l 实时数据的关系相对复杂;
l 数据库作为其它系统的一部分存在;
u 统计型软实时数据库;产品特征:
l 一般不参与控制输出;
l 对历史数据的应用是系统的主要功能;
l 实时数据的结构简单;
l 数据库系统具有较强的独立性;
这也给我们在国内推广实时数据库应用的同仁们提了一个醒,即便专业得如nsis前辈的人,都会质疑实时数据库是否应该包括历史数据处理部分,何况普通的用户?我们该如何更准确地表达实时数据库概念?
与统计型软实时数据库概念相近的,还包括如下类型的数据库:
我们是否应该明确地将这些数据库类型区别开来,为每种类型的数据库取一个与其它类型明显不同,又不会产生二义性的名称?请大家发布高见。
nsis前辈在电力行业工作多年,又在石化行业工作多年,衷心祝愿他所主持开发的nsis实时信息系统能越做越好,也希望nsis前辈多发表意见,不要“这种文章不值得评论,这是本人最后一次"评论"”。
最后,我想就nsis前辈评论中特别指出的两个命题进行一些补充说明。
命题一:“用关系数据库保存10000个每秒钟变化一次的双精度数”。
nsis前辈开发的系统由于市场定位的关系,没有遇到需要考虑超过10000个每秒钟变化一次的测点的需求,而在很多流程行业的企业级实时数据库的应用中,这种需求是真实而普遍地存在的,如SIS系统等。
在流程行业,生产企业的基础控制领域的自动化程度已经得到极大的提高,在设备及车间一级,FCS、DCS、PLC、智能仪表、现场总线等已到普及,在全厂进行厂级生产数据的综合处理,在实时生产数据及历史分析数据的基础之上进行企业的经营管理和决策,已成为流程行业企业信息化的发展热点。
在企业经营管理活动中,从厂级到现场级,对生产数据的实时性要求是成反比关系的,越是到现场级,对生产数据的实时性要求越高,而越是到厂级,对实时数据的要求越低而对历史数据的要求越高。一个厂长,不会成天盯着每个设备的具体运行参数,他只关心一些关键的实时信息,以及关键的统计数据。
要提高企业的宏观经营决策能力,除了能够实现由实时数据产生的统计报表之外,还需要对生产信息的历史数据进行数据挖掘和分析,这正是流程行业统计型实时数据库的存在价值和意义。
刚才讲的都是理论,我就讲实时数据库的一个实际应用例子吧。在某火电厂,机组容量6*300MW,总点数8万点,厂家要求,能将将这些机组的运行数据,以最小为1秒,大为10秒的间隔,全部保存起来,要求最长保存时间为4年。
命题二:“数据的高压缩率意味着整个系统的数据处理速度更快”
如果所有的处理全部在内存中,这个命题确定不正确,但如果数据要存放于硬盘,或传输于网络,这个命题就就不一定是错误的。
在计算机中,CPU的速度最快,内存次之,硬盘再次之,网络最慢,它们速度的差别是以数量级来论定的。流程行业的统计型数据库,主要的性能瓶颈在网络传输和硬盘存取方面,压缩数据,减少数据尺寸,便能提高网络传输时间和硬盘读写时间,便能保证整个系统的处理速度更快