找回密码
 欢迎注册
搜索
热搜: 活动 交友 discuz
查看: 3189|回复: 7

有关CACHE介绍

[复制链接]
发表于 2003-4-2 15:14:35 | 显示全部楼层 |阅读模式

在70年代,以技术为中心的数据处理是当时的技术水平决定的。当时的数据库中只有很少的一些有关数据。获得这些数据的唯一办法就是阅读、处理,然后把它们打印出来。随着80年代个人计算机的发展,“以用户为中心”的计算逐渐成为主流。这就需要通过独立于物理存储的逻辑数据模型,使用户能够得到所要的数据。这个时代也是使用易于理解的两维数据型的关系型数据库时代。而今天,我们发现我们正处于一个通向计算新境界、以网络为中心的数据处理的十字路口。复杂的数据在日渐庞大和精深的网络中,进行处理和交换。而且,最必要的是,交换处理应用程序必须1年365天,1天24小时不停地运转。对新境界计算的功能和性能的需求,必然需要一种能够超越简单关系型数据库模型限制的新型数据库。
现实世界是复杂多变的,通过简单模型描述现实世界的信息技术并不能改变这一点。对于软件公司,用关系型数据库对传统的数据进行建模相对来说要简单一些,然而,当程序员试图强行用简单关系型技术的模型来表示现实世界时,问题就产生了。
结果是,建立了大量的表,用了复杂的模型处理,却仍然很难模仿出数据的现实关系。更糟的是,这些表之间的连接经常隐藏在应用程序里,而不是存在于更易于管理的数据库中。关系型数据库模型已成为提高操作效率的最大阻碍之一。
现在我们介绍一种新型数据库技术-CACHE数据库也就是后关系型数据库。与关系型数据库不同的是,这种数据库使用强大而灵活的对象技术,把经过处理的多维数据模型的速度和可调整性结合起来,由于它的可兼容性,对于开发高性能的交换处理应用程序来说,后关系型数据库非常理想。

1. Cache数据库发展概况
Cache数据库虽在国内目前听说的人很少(这种情况正在改变,最近已经开始有一些政府部门和国内知名的公司准备或正在开发基于该数据库的项目),但在国外特别是医疗信息行业已经是普遍应用,其市场占有率达到70%以上。为何有如此多的医院选择使用该数据库?原因很简单,Cache数据库有其独特的优点,在性能方面优于其它类型数据库 ( 如:Oracle, SQL server,Sybase等)。
Cache数据库是由Mumps语言为核心编写的,我们简称M语言,该语言起初是在美国国防领域中产生的一种语言,该语言是专门为了设计大型数据库而产生的一种编辑语言。其语法操作非常简单类似于最早的Basic语言,但其功能却很强大,用户可直接通过M语言跨过系统操作平台直接对系统硬件进行操作,用户可直接通过M语言定义类和对象,这样在开发时可直接调用对象的各种方法和属性等。真正将M语言技术应用于数据库领域的是美国的InterSys 公司,该公司去年曾被评为美国500强企业之一。InterSys公司通过多年的开发将M语言技术原先的特点进一步加以完善,逐渐开发出一套全新的数据库---Cache。也就是我们MedTrak系统所用的数据库。
图4.1 Cache数据库在国外医疗市场中的市场份额
2. MedTrak系统采用Cache数据库的原因
简单来说,MedTrak系统是由两大部分构成:(1)一种新型的基于对象型的Cache数据库作为其后台数据存储源;(2)用大家都熟悉的Microsoft VB开发工具编写的前台用户界面。乍看起来,这种架构与其它信息管理系统的类似,但实际并不是这样简单。但作为一个信息系统的基础,其数据源的性能直接决定了整个系统的运行效果。下面我们详细介绍该系统的特点:
(1)速度快
Cache数据库在同等条件下查询相同数据比Oracle等普通数据库要快。原因是Cache数据库又叫做后关系型数据库(Post-Relation),顾名思义,Cache是基于普通关系型数据库如:Oracle, SQL server, Sybase等的基础之上并有所改进而产生的。其在数据存储原理上已与普通数据库有所不同。Cache 使用多维多矢量的存储方法,表结构已经不是2维而是多维表格,到底有多少维数,由用户开发决定。而多维表的建立维护工作可由Cache系统自己完成,用户可以不用了解其内在结构和原理而直接将其认为是2维表使用即可。也就是说,用户还可以将Cache当成是普通关系型数据库中的2维表一样通过SQL进行存储和读取,但其内部存储结构却不是这样,而是多维的。
(2)使用简单
Cache数据库支持标准SQL语句,因此不太熟悉M语言的用户依然可以轻易对数据库中的数据进行操作。
(3)接口容易
Cache数据库支持ODBC标准接口,因此在与其他系统进行数据交换时非常容易。同时Cache亦可以将数据输出成文本文件格式以供其它系统访问调用。
(4)真正的3层结构
Cache数据库能够真正意义上实现3层结构,实现真正的分布式服务。如下图:
Cache数据库数据访问结构图:











其它数据库(Oracle, SQL server, Sybase等)数据访问结构图:







主数据源Cache 二级服务器Cache          客户端PC用户
由上图可看到,在Cache环境下用户并非直接访问主数据库,而是先访问二级服务器上的Cache数据,通过二级服务器上的数据交换处理分散了主服务器上数据处理工作,所有计算处理功能都由二级服务器上的Cache完成,只有用户真正调用主数据库中的数据时或二级服务器上的Cache不能完成用户访问要求时,才会向主服务器上的Cache数据库提出访问申请。
相反,其它类型的数据库却无法实现这种功能,如上图,尽管Oracle 与 SQL server 等也声明它们支持3层结构和分布式访问结构,但客观上的性能限制其无法实现真正意义上的分布式功能,Oracle 等仅仅是在其数据库内部实现了虚拟的分布式3层结构,而全部工作最终还是由一台主服务器上的数据库进行处理,所以当大量数据访问主服务器数据库时(病人访问高峰期),整个系统性能将大大降低,处理速度非常慢,造成病人大量滞留等情况发生。
而Cache数据库却能通过二级服务器数据库有效的分散处理工作,当高峰期来临时,同一时间内上百个数据访问将被分散为几十个一组分别由二级服务器数据库处理,就像平时非高峰期使用时一样,系统性能不会有明显下降,用户甚至无法察觉。
(5)升级扩容方便
正因为由上述分布式3层结构,所以当医院需要增加客户端PC或医院进行扩大规模时,不需要重新购买或更新主服务器,只需要适当增加二级服务器的数量即可,二级服务器相对来说要比主服务器要便宜许多,因此,医院可节约资金减少重复投资。
(6)对象型编辑
Cache数据库是真正的对象型数据库,开发时用户可直接用数据库定义自己想要的对象,然后再在其它开发工具中调用该对象的方法和属性即可完成开发工作,非常方便。
(7)支持远程映射和镜像
Cache数据库支持远程的映射和镜像,比如在不同城市之间,或在同一城市的不同区域之间,Cache可以进行镜像(Mapping),使不同区域的Cache数据库同步联系起来,虽然在不同区域,但大家使用起来就像共用一个数据库。该功能特别适合于一家医院同时拥有几个分部的情况。这样,用户虽然地处不同区域,但数据库中的数据却是同步的且唯一的,就仿佛大家在同一地点办公一样。广义来说,Cache可以支持不同城市之间,不同医院之间的信息共享,大家可以彼此之间共享信息,对于医院之间的交流和教学工作将是一种不可忽视的资源。
(8)支持WEB开发
Cache 数据库提供自带的Web开发工具,使用维护非常方便,符合当今软件业发展的趋势。
(9)价格便宜
Cache数据库的价格比Oracle要便宜许多。
正是由于CACHE的这些特点,在美国和欧洲的HIS系统中,CACHE数据库所占的比例是最大的,被医疗界公认为首选数据库。
(10)支持不同操作系统
Cache数据库的能够支持UNIX\\NT\\WIN2000,且支持集群
发表于 2003-4-5 08:43:32 | 显示全部楼层

有关CACHE介绍

Cache对于临床信息系统的设计有很大的帮助。Good!
发表于 2003-4-11 15:39:11 | 显示全部楼层

有关CACHE介绍

图呢? 你附的图呢?
发表于 2003-4-15 14:21:23 | 显示全部楼层

有关CACHE介绍

好几年前就听说了,由王继中教授等人介绍,但是使用者在国内没听说过!有人知道那里用了吗?
发表于 2003-4-15 23:15:20 | 显示全部楼层

有关CACHE介绍

***** 版主模式 *****
该贴子是管理员从<a href=forums.cgi?forum=1>医学信息学研究</a>转移过来的!
发表于 2005-8-25 10:09:37 | 显示全部楼层

有关CACHE介绍

<p>现在的医院一般都用ORACLE,CAHCE 还是比较新的,太其多维的概念很适合医学概念</p>
发表于 2005-8-25 11:21:54 | 显示全部楼层

有关CACHE介绍

<!--quote-goonyeah+2003-04-15 06:21--><div class='quotetop'>引用goonyeah &#064; 2003-04-15 06:21)</div><div class='quotemain'><!--quote1-->好几年前就听说了,由王继中教授等人介绍,但是使用者在国内没听说过!有人知道那里用了吗?<!--quote2--></div><!--quote3-->
<br><a href="http://www.intersystems.cn/cache/testimonials/healthcare.html" target="_blank">http://www.intersystems.cn/cache/testim...healthcare.html</a>
发表于 2005-8-25 11:28:31 | 显示全部楼层

有关CACHE介绍

头一次听,感谢小城医生的资料.
<br> 我是菜鸟我怕谁...
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

快速回复 返回顶部 返回列表