实现数据的分布式访问

时间:2022-05-20 11:28:52

实现数据的分布式访问

企业在设计开发MIS系统时,使用分布式数据库技术,可以达到在低速网络通道下有效提高性能的目的。

在构建分布式数据库系统的过程中,企业需要着重研究并解决数据同步和事务协调的问题,以便取得良好的应用效果。

应用速度是固有瓶颈

分布式数据库不是简单地把集中数据库分散实现,而是针对某种特定应用需要而诞生,它必然具有自己特有的性质和特征,需要在上面做许多的工作,来满足应用的要求。

企业在设计、开发一个MIS系统时,针对应用的需要而引入分布式数据库技术,可以取得良好的效果。

以针对会员资料的管理而设计的某MIS系统为例,用于管理会员入会、缴纳会费、申请资助、办理资助审批、关系转移、退会和注销手续等业务流程。分三个级别的应用权限―基层单位级、总公司级和集团公司级,各个级别只能操作各自范围内的业务数据。

由于客户端地域的分散,遍及多个省境内,许多使用该系统的基层单位连接服务器数据库的网络采用电话线拨号方式,速度有限,在使用客户端应用程序时感觉速度很慢。

经过分析,因为许多操作都要从服务器中取数据,数据访问就是导致操作缓慢的主要原因。在服务器没有性能瓶颈的情况之下,网络速度就是关键的问题所在。

在不可能要求众多用户改善和升级其网络的情况下,只能充分挖掘软件的潜力,以便能够适应这种低速网络的使用模式。

采用分布式思想

结合关系数据库的知识可知,应用程序的每一次数据库操作,都要访问多个相关联的表。

同时考虑到基层单位总是操作自己所属的部分会员,增删转移操作少,会员列表比较固定,而每一项业务操作都涉及到要从会员列表中查找定位到某个会员,所以会员列表是最常访问的数据项。把会员列表从会员资料数据中抽取出来,也放置在客户端,这样,便进一步改善了性能。

把数据分散存放只是工作的第一步,接下来要考虑应用程序怎样访问这种分布式数据。开发应用时,如果每一功能都针对两个数据库进行,就带来了很多麻烦。因此,可以采用Sybase数据库中的CIS(组件集成服务)部件,来将两个数据库合并成一个统一的分布式数据库。应用程序只要连接一个数据库,就可以透明统一访问到两个数据库中的数据。

解决关键问题

在实际使用该分布式数据库系统的过程中,必不可免地会遇到诸多问题,必须加以解决。

第一,数据同步。客户端基础数据不是绝对静态的,也有变化,因此在服务器端要设置一个统一的基准,称为主点数据。客户端总是复制使用,称为复制点数据。如何及时感知到服务器端主点数据的变化,有效率地复制到客户端,是个难题。

为了避免过于复杂,实际应该采用应用程序来管理同步。当服务器端主点数据有了更改时,保存一个相应的标识和时间戳,客户端应用在登录服务器时,检查这种标识,一旦检测到了数据有更新,就首先下载,然后再进入系统正常使用。这种方法实现起来,增加了额外的开发量,且不能判别绕过应用程序对数据的直接修改,却是最简单有效的方法。

第二,事务协调。物理上独立的两个数据库,在协同操作时,如果服务器正好停机或者网络故障,完整的一个事务没能完成,就会“事务崩溃”。应该通过编程,使应用程序能够及时感知到数据库连接故障,及时停止和恢复事务,使操作界面表现友好灵活。

问题的解决,使得系统成功运行。分布式数据库技术的应用并不是非常复杂,它往往为解决特定问题、满足特定需要而被采纳,使用得当,会给应用带来许多便捷。

在当今信息社会里,互联网络带来了相互连通的便捷,也带来知识爆炸,数据的分布式访问是个必然趋势。潮流兴起的XML技术,提供了各种平台数据库之间的一个公共数据访问标准,可能会用来构建更加灵活、适应性更强的分布式数据库技术。

上一篇:中国软交会 唱响世界舞台 下一篇:构件可测试性挑战