论分布式数据库的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

论分布式数据库的设计与实现

摘要:本文讨论某高校管理信息系统中分布式数据库的设计与实现。该系统架构设计采用C/S与B/S混合的架构方式。在全局数据与各院系的数据关系中,采用水平分片的方式;在全局数据与各部门之间,以及数据库服务器与Web数据库服务器的数据关系中,采用垂直分片的方式。设计过程中采用了基于视图概念的数据库设计方法。开发过程中在数据集成、测试、分布式数据库部署等方面做了大量的工作。并使用合并复制的方式有效地解决了分布式数据库中数据同步的问题。

关键词:分布式数据库架构设计应用数据集成合并复制

针对某高校管理信息系统的开发,该高校共有三个校区,总校区和两个校区,教务处等校级行政部门在总校区办公,15个院、系分布在两个校区。在工作中它们处理各自的数据,但也需要彼此之间数据的交换和处理,如何处理分散的数据和集中的管理是一个难题。学校信息系统中复杂而分散的数据信息之间的交换、相互转换和共享等问题是系统开发要解决的关键性问题,分布式数据库系统技术为解决这个问题提供了可能。

1、系统的架构设计

采用分布式的C/S与B/S混合的架构方式。各院系、部(室)通过局域网直接访问数据库服务器,软件采用C/S架构;其它师生员工通过Internet访问Web 服务器,通过Web服务器再访问数据库服务器,软件采用B/S架构。学校各部门之间工作时数据交互性较强,采用C/S架构可以使查询和修改的响应速度快;其它师生员工不直接访问数据库服务器,能保证学校数据库的相对安全。

2、数据的分布

从全局应用的角度出发,将局部数据库自下而上构成分布式数据库系统,各系部存放本机构的数据,全局数据库则存放所有业务数据,并对数据进行完整性和一致性的检查,这种做法虽然有一定的数据冗余,但在不同场地存储同一数据的多个副本,能提高系统的可靠性和可用性,也提高了局部应用的效率,减少了通讯代价。

将关系分片,有利于按用户需求组织数据的分布,根据不同的数据关系采用了不同的分片方式:

(1)在全局数据与各院系的数据关系中,由于各院系的数据是全局数据的子集,采用了水平分片的方式。

(2)在全局数据与教务处、总务处等各部门之间,数据是按照其应用功能来划分的,所以采用了垂直分片的方式。在数据库服务器与Web数据库服务器

的数据关系中,情况也是相同,也采用了垂直分片的方式。

3、数据库视图设计

由于系统需要满足来自不同用户的查询需求,如学生查询考试成绩、教师查询考核情况、师生查询图书信息等,因此使用了大量的视图,来满足各方面的查询需要。另一方面这种设计也防止了人为因素造成的数据更改,同时满足了系统安全性的需要。

在进行视图设计时,首先从分析各个应用的数据着手,为每个应用建立各自的视图,然后再把这些视图汇总起来,消除命名冲突和冗余,最后形成整个数据库的概念数据模型。

4、数据集成

各系部的局部数据在录入后,要及时上报,在全局数据库进行汇总。各部门的数据有更新变动时,也要及时上报在全局数据库同步更新。再由全局数据库分发给与数据信息有关的相关部门。如某系学生人数的变化要通知后勤服务部门。人事部门上报教工工作的调动情况要通知财会部门等。数据的交换集中在各系部局部数据库与全局数据库之间,提高了系统集成的可靠性;数据交换的功能在中心数据库与各系部间进行,中心数据库所在的服务器分担大部分数据交换所需的处理工作,可减少各系部之间的数据交换,保证数据的一致性。在数据库到数据库的操作中,通过两阶段递交协议来确保中心数据库和分布在各个系部的数据的一致性、完整性。

5、测试

由于该系统涉及到多个系部,数据共享关系复杂,数据量也较大,因此在测试时使用的是高校系统的真实的数据,从数据的采集、传输、存储、处理和显示等的各个环节,全面测试了数据库的功能,以及数据库的性能和安全性等,根据测试结果和用户意见进行了修改。

6、部署

在数据库选型的问题上,考虑到操作人员对SQL Server数据库比较熟悉,采用SQL Server数据库构造整个数据库平台。各校区都有自己的数据库服务器,而全局数据库服务器只有在总校区才有,不同校区之间的数据通过总校区以复制的形式同步,两个分校区和各系部之间不直接进行数据的复制,这种服务器的分布形式达到了以下两个目的:首先,全局数据库服务器在总校区,保证了整个学校的数据统一。再者,通过后台的数据的同步进程保证了总校区和各部门之间的数据传输,可实现校办总部对下属单位的数据有条件发放,下属单位数据无条件上传总校,为整体数据提供了安全保障。

在分布式数据库设计中遇到的最主要的一个问题就是数据同步的问题。由于

全局数据库与各部门的数据交换是双向的,各系部需将更新的数据发送到全局数据库,全局数据库负责整体协调,要向下属单位下发管理信息和与其工作相关的其它部门的更新数据。使用合并复制方式实现数据同步,把全局数据库服务器设置为出版者,各部门数据库服务器设置为订阅者,合并复制监视源数据库中的改变,并同步出版者和订阅者的数据值,其中无论是出版者还是订阅者均可以更新数据。当出版者同订阅者发生冲突时,将出版者设置为高优先级。

7、总结与展望

目前,该系统已经稳定运行一年多的时间,得到了该大学领导和有关人员的好评。但也有需要改进,完善的地方。比如应加强保障系统安全性方面的设计,提高系统的健壮性。应用分布式数据库技术可以有效地解决数据分散和集中管理的矛盾,实现数据的共享和交换。在实际中,分布式应用系统很多是异构的,异构不仅仅是数据库,也包括硬件和操作系统。应用XML和中间件技术实现异构数据库集成是分布式应用的发展趋势。

参考文献

[1] 王能斌,董逸.数据库设计与实现(高等学校教材).华中理工大学,1991.9.

[2] 邵佩英.分布式数据库系统及其应用——中国科学院研究生教学丛书.科学出版社,2005-3第2版.

[3] 申德荣等。分布式数据库系统原理与应用,机械工业出版社,2011-07-01.

相关文档
最新文档