西安工业大学分布式系统结业论文题目:浅谈分布式数据库系统的设计学院:计算机科学与工程学院专业班级:网络工程12级结业年份:2015年姓名:刘钊学号:120614107指导教师:茹媛工作单位:西安工业大学浅谈分布式数据库系统的设计刘钊(西安工业大学计算机科学与工程学院网络工程专业12级)摘要:为适应现代化企业的信息共享要求,满足在地理上分散的企业或团体对数据库的广泛需求,于是建立在集中式数据库的基础上的分布式数据库便诞生。主要介绍分布式数据库的定义、特点。关键词:分布式数据库;架构设计;应用数据集成;合并复制1.概述分布式数据库系统本质上是计算机网络与数据库系统两者的结合,它是物理上分布但在逻辑上集中的数据库系统,数据库中的数据信息分布在用网络相互连接但实际空间不同的站点,但这些数据库站点由统一的数据库管理系统进行管理,在逻辑上又是一个整体,各个节点又有自治能力,而且数据分布也透明。分布式数据库系统主要由分布式数据库及分布式数据库管理系统两部分组成,分布式数据库就是计算机网格中各个节点上的数据库的逻辑集合,它即克服务数据资料在物理上的分散性,又可实现对数据进行全局共享。2.分布式数据库系统的特点由分布式数据库系统的定义,可知分布式数据库系统主要具有以下四个基本特点:2.1物理分布特性这是分布式数据库区别于单一集中式数据库的特性,即数据库是分布在网络中不同的节点上的。2.2逻辑关联性这是分布式数据库区别于分散式数据库系统的特性,即分布式数据库系统的所有全局用户可共享物理上分布在网络各个节点的数据库中的信息。分布式数据库的管理是由分布式数据库中的一组软件来实现统一管理。2.3节点自治性分布式数据库中各节点的数据信息由本地的分布式管理系统管理,因此具有较强的自治能力来完成本节点的局部应用。2.4节点间协作性分布式数据库系统中的用户可以在任一个节点执行全局的应用。3.分布式数据系统的设计3.1分布式数据库设计概述考虑集中式数据库设计的内容:(1)概念模式的设计(包括应用所需要的全部数据)(2)物理数据库设计,即将概念模式映射到存储区域,并决定合适的存取方法.分布式也要做这两件事,只不过化为:a、全局模式的设计对应上面(1);b、每个站点的本地物理数据库设计对应上面(2);解决的方法与集中式相同,都是用关系数据库规范化理论和文件的物理组织方法。同时在第(1)与第(2)步之间还要做:A分段模式的设计B分配模式的设计这两方面恰好全面表征了数据分布设计的特点,二者互相关联,要综合考虑。在设计数据库之前,必须充分了解需求,严格按照软件工程的方法来设计数据库,做好数据库应用系统中的关键一环。(核心问题)需求应包括:(1)都有哪些应用和哪些用户?应用与用户的对应,每个用户的功能需求(给出用例图,详细描述每个应用所用的数据及处理流程、应用与应用之间的时序关系等)(2)每个应用发出的站点(原发站点)(3)每个应用被使用的频度(4)每个应用对‘数据对象’访问的次数、访问类型、统计分布情况等(5)每个‘数据对象’数据量的大小,值的分布情况。(6)站点间的距离、传输单位信息的费用3.1.1数据分布设计的目标(1)处理的本地性把数据和使用它们的应用尽量靠近---当然最好是在原发站点(2)可用性和可靠性可用性---对只读应用,可就地使用副本可靠性---在物理上分散的站点分别存放副本,一旦正在使用站点上的数据出了问题(如盘坏了),可使用其它站点上的数据。(3)工作负荷均衡---各尽所能,要考虑每个站点的能力、效率不同等因素,也要与本地性折衷考虑。(4)经济上的考虑---经费开销少(存储、CPU、I/O、通讯等),相比之下,优先考虑通讯。(5)效率方面的考虑---本地性、通讯量少、负荷均等也都会提高效率(互补)。上述几条目标应综合考虑,有些情况是互补的,有些情况又是矛盾的(可靠与同步更新)。特别地要优先考虑大频率的、费时的、实时的应用。3.1.2自顶向下和自底向上的数据分布设计方法(1)自顶向下的方法(2)自底向上的方法3.2数据库分段设计(分段模式设计)数据分布设计包括分段和分配设计,分配的最小的逻辑单位是段。分段是分配的起点,但并不是终点,分配过程中可能还有改变。回顾分段设计的规则:(1)完整性---全局关系中的任意数据必存在于某个段中。(2)可重构性---必须能够由段重新构成全局关系(3)全局关系的一个划分,即任意一个元组只能属于一个段,并且用所有段的合并运算重构全局关系;但对于垂直分段,如没重复的数据则没有结合属性,也就无法重构全局关系。对于混合分段,显然是递归进行的,每步或是水平与导出式水平分段、或是垂直分,只要每步都按照上述规则,混合分段的结果也必然满足上述规则。3.2.1水平分段与导出式水平分段的设计3.2.1.1水平分段(初级分段)的设计根据分段的基本条件,水平分段意味着要确定一组能使分段不相交、且完整的选择谓语,也就是限定语。为了便于讨论,不防令R是一个全局关系,并引入下述定义:(1)简单谓语:pi:属性名θ属性值其中,θ可以是算术比较、关系、集合等运算符。(2)最小项谓语设P简单谓语P1,P2,…,PN的集合,若Y是P的最小项谓语,则Y就是P中所有简单谓语的合取,其中每个简单谓语或者为自然形式,或者为否定形式,且Y不为永假。即Y=∧pi*pi∈P这里,pi*=pi,或者pi*=NOTpi,且Y≠永假(3)一个段是一个最小项谓语所包含的所有元组的集合。(4)简单谓语pi与简单谓语集合P相关的条件是:若P至少有两个最小项谓语(即至少有两个段),且其间的区别仅仅取决于pi两种形式(自然和否定),则至少有一个应用以不同的方法来访问相应的段。问题:如何评价分段是比较好的?或称合适的?可以这样回答:p完整且最小。所谓完整是指:同一个段中任意两个元组被任意应用等概率访问。所谓最小是指:p中每个pi都p与相关。水平分段的方法:3.2.1.2导出式水平分段的设计导出式水平分段应充分考虑段与段之间的分布式结合是否得到简化。(1)充分调查两个全局关系的结合应用(2)最好的方案是形成简单结合图(3)通常采用半结合或自然半结合进行分段3.2.2垂直分段的设计当某些重要应用只涉及全局关系R的某个属性集,而另一些重要应用只涉及全局关系R的另一个属性集,这两类应用又发自不同站点,则应采取垂直分段,这可避免访问较大的关系R时,不同站点间大量的数据传输。3,3设计原则(1)分布式设计数据库设计的主要原则就是本地性和近地性,因此在设计中要实现数据及数据应用的最大程的本地化,从而减少节点之间的通信量,提高系统效率。(2)为提高数据的可靠性及可用性,在分布式数据库系统中可保存某些数据的副本,并当数据的一个副本不能使用时,可在另一节点对该数据副本进行恢复。但同时增加了冗余数据,就可能导致所存数据的不一致,因此在分布式数据库系统设计时要控制副本的数年量,考虑数据冗余的最优程度,从而减少各节点数据同步更新而产生的各种成本。(3)为了提高应用执行及数据传输的并行程度,分布式数据库系统将工作量分布于网络的各个节点上,让各个节点计算机的资源得到充分利用。因此在分布式数据库系统设计是要合理的分配工作负荷,让各个节点运运算资源合理的发挥。(4)在分布式数据库系统设计中,要考虑各节点的存储能力,以合理分配有限空间资源为设计原则。3.4分布式数据库系统的存取控制分布式数据库系统的存取控制方式主要有以下三种:3.4.1中央集权式即将事物管理层的部分放到中央节点上,而将数据管理层部分放到对应的各个子节点上,此种方式比较适用于大企业的数据库管理。另,部分数据管理层分离,与中央处理器放在一起,各局部的操作请求由各终端通过网络传递。这种方式的优点便是有利于统一进行数据管理及计算机维护。3.4.2分层式即将事物管理层部分放到中央节点,将数据管理层部分放到对应的各子节点。若各子节点还有子子节点,那数据管理层部分的局部概念模式就为该子节点上的全局概念模式。此种方式一般采用星形网络结构,适用于同级之间联系少但上下级之间存在联系的纵向管理行业。3.4.3完全分布式即将部分事物管理层复制到各个节点,使每个节点都有部分事物管理层以及该节点对应的数据管理管理层部分。这种方式因其灵活高效,适用范围较广,但整个造价很高。4.结语在当今因互联网络带来的信息爆炸,分布式数据库系统的应用是个必然趋势,因此在分布数据设计时主要目标便是实现以总代价最小来实现分布式访问,并使分布式数据库系统的性能处于最佳状态。(指导教师:茹媛)参考文献:[1]钱郭锋、刘波、陈珺,分布式数据库系统的设计与实现[J].现代测绘,2010(03).[2]李文虎,分布式数据库系统的设计浅析[J].科技资讯,2009(34).