分布式数据库系统的设计.ppt
《分布式数据库系统的设计.ppt》由会员分享,可在线阅读,更多相关《分布式数据库系统的设计.ppt(100页珍藏版)》请在三一办公上搜索。
1、徐俊刚(),分布式数据库系统及其应用,2009年2月2009年6月,分布式数据库系统设计概述自顶向下设计分布式数据库DATAID-D方法实例研究:飞机订票系统自底向上设计分布式数据库,分布式数据库系统设计,第2章,分布式数据库设计概述,1,创建方法,组合法,剖析网络功能剖析原有数据库系统解决数据的一致性、完整性和可靠性难度较大 通常是异构或者同构异质DDBS,分布式数据库设计概述,1,重构法,根据实现环境和用户需求按照DDBS的设计思想和方法从总体设计做起,包括LDBS,重新建立一个DDBS可有效解决数据一致性、完整性和可靠性问题。通常是同构异质或同构同质DDBS,DDBS设计,DDB设计,应
2、用设计,全局模式设计,局部数据库设计,相关应用需求,各个应用的原发站点,各个应用在每个站点的激活频率,各个应用对要求访问数据对象的访问次数、类型和统计分布,分片和分布,DDBS设计目标,本地性或近地性,存储能力和费用,尽量减少通信次数和通信量,90/10准则,分片和分布方案(本地和远程访问次数)择优,控制数据适当冗余,冗余增加了可靠性、可用性,提高了效率,维护数据一致性开销增加,工作负荷分布,各站点可以分担整个工作任务,本地性降低,DDBS设计方法,自顶向下方法(重构法),混合方法,自底向上方法(组合法),假若有全局关系R 被分片为子关系(片段)集合 R=R1,R2,Rn,则 R满足完整性?x
3、 R,RiR 必有 xRi,i=1,2,n可重构性存在函数 g 使得R=g(R1,R2,Rn)即,R=Ri(水平分片),R=Ri(垂直分片)不相交性Ri Rj=空集,ij,i,j=1,2,n(水平分片)Ri Rj=主键属性,i,j=1,2,n(垂直分片),分片原则,职工关系 E(e#,name,loc,sal,)查询:Qa:select*Qb:select*from E from Ewhere loc=Sa where loc=Sband and.,举例,e#NM Loc Sal E,5,7,8,Sa,1000,Sally,Sb,2500,Tom,Sa,500,Joe,e#NM Loc Sal
4、,e#NM Loc Sal,5,8,Sa,1000,Tom,Sa,500,Joe,7,Sb,2500,Sally,.,.,.,.,F,站点Sa,站点 Sb,举例,基本水平分片 以关系自身的属性性质为基础,执行“选择”操作,将关系分割成若干个不相交的片段。R=R1,R2 R1=loc=Sa(E)R2=loc=Sb(E),基本水平分片,若 R=R1,R2,Rn,则完整性 对于每一个元组 tR,RiR 使得 tRi 不相交性 对tRi,Rj 使得 tRj,i j可重构性 操作是(可以忽略,因为完整性就蕴含着)R=R1,R2,RnP=p1,p2,pn是一简单谓词集合,为保证分片的正确性,P必须是:完整
5、的:同一分片中的任意两个元组被应用同样概率访问。最小的:集合P中的所有谓词与应用密切相关。具有完整性和最小性不是必要条件,但是对于简化分配问题有好处,基本水平分片,例子EMP(E#,NAME,DEPT,JOB,SAL,TEL,)DEPT=1,2 JOB=P,-P假定,应用经常查询的内容是属于部门1且是程序员的职员。则可能有的水平分段限定 P=DEPT=1(不是完整的)P=DEPT=1,JOB=P(是完整的、最小的)P=DEPT=1,JOB=P,SAL500(完整的,不是最小的),基本水平分片,如何保证分片原则,“手工”检查!e.g.,R1=loc=Sa E;R2=loc=Sb E生成具有满足分
6、段原则的限定谓词,基本水平分片,设有关系 E(e#,name,Loc,sal,A,),查询使用的简单谓词(Ai Value)是:A5,Loc=Sa,Loc=Sb下一步:-生成“小项”谓词-消除无用谓词给定简单谓词集 Pr=p1,p2,.pn,则“小项”谓词(minterm predicate)形式:p1*p2*pn*这里 pk*是 pk 或是 pk,谓词生成举例,(1)A5 Loc=SA Loc=SB(2)A5 Loc=SA(Loc=SB)(3)A5(Loc=SA)Loc=SB(4)A5(Loc=SA)(Loc=SB)(5)A5)Loc=SA Loc=SB(6)A5)Loc=SA(Loc=SB
7、)(7)A5)(Loc=SA)Loc=SB(8)A5)(Loc=SA)(Loc=SB),小项谓词选择,(9)(A5 Loc=SA Loc=SB(10)(A5 Loc=SA(Loc=SB)(11)(A5(Loc=SA)Loc=SB(12)(A5(Loc=SA)(Loc=SB)(13)(A5)Loc=SA Loc=SB(14)(A5)Loc=SA(Loc=SB)(15)(A5)(Loc=SA)Loc=SB(16)(A5)(Loc=SA)(Loc=SB),小项谓词选择,R2:5 A 10 Loc=SA R3:5 A 10 Loc=SB R6:A 5 Loc=SA R7:A 5 Loc=SB R10:
8、A 10 Loc=SA R11:A 10 Loc=SB,分片结果,注:无用段的消除依赖于应用的语义,e.g.:如果 LOC 可以是 SA,SB,则最终分段集合应该加上R4:5 A 10 Loc SA Loc SB R8:A 5 Loc SA Loc SB R12:A 10 Loc SA Loc SB,小项选择率(minterm selectivity)对某一给定小项谓词用户查询可能选择到的元组数访问频率(Access frequency)用户应用访问数据的频率小项访问频率可以通过用户查询频率获得,分片数量信息,例子 E(#,NM,LOC,SAL,)有查询应用Qa:select*Qb:selec
9、t*from Efrom E where LOC=Sa where LOC=Sb and and.,如何选择小项谓词举例,(1)Pr=R1=E(2)Pr=LOC=Sa,LOC=Sb R2=loc=Sa E,loc=Sb E(3)Pr=LOC=Sa,LOC=Sb,Sal1000 R3=loc=Sa sal1000 E,loc=Sa sal1000 E,loc=Sb sal1000E,loc=Sb sal1000 E,三种选择,Loc=Sa sal 1000,Loc=Sa sal 1000,Loc=Sb sal 1000,Loc=Sb sal 1000,R1,R3,R2,Qa:Select loc
10、=Sa.,Qb:Select loc=Sb.,图示,Loc=Sa sal 1000,Loc=Sa sal 1000,Loc=Sb sal 1000,Loc=Sb sal 1000,R1,Qa:Select loc=Sa.,Qb:Select loc=Sb.,此处元组有较高的选择概率,此处元组选择概率较低,分段内元组选择概率不等因此 R1 不好.,理由,Loc=Sa sal 1000,Loc=Sa sal 1000,Loc=Sb sal 1000,Loc=Sb sal 1000,R2,Qa:Select loc=Sa.,Qb:Select loc=Sb.,元组选择概率相等,因此 R2好.,R3不
11、好.,理由,导出分片 从另一个关系的属性性质或水平分片推导出来例子 SC(S#,C#,GRADE)S(S#,SNAME,AGE,SEX)要求:将SC划分为男生各门课成绩和女生的各门成绩,导出水平分片,按S的属性导出 Define fragment SC1 as Select SC.S#,C#,GRADE From SC,S Where SC.S#=S.S#and SEX=M Define fragment SC2 as Select SC.S#,C#,GRADE From SC,S Where SC.S#=S.S#and SEX=F按S的水平分片(SF/SM)导出Define fragment
12、 SC1 as Select*From SC Where S#in(Select SF.S from SF)Define fragment SC2 as Select*From SC Where S#in(Select SM.S from SM),导出水平分片例子,通过“投影”操作把一个全局关系的属性分成若干组,基本目标是将使用频繁的属性聚集在一起全局关系R=Ri,i=1,2,n如果属性AR,必有ARi,i=1,2,n,而且RiRj=Ap,ij,Ap为R的码或元组标识符,则称Ri,i=1,2,n是关系R的一个垂直分片。如果属性AR,必有ARi,i=1,2,n,而且RiRj=(Ap,A-p),i
13、j,A-p为R的一个或多个非码属性时,称Ri,i=1,2,n是关系R的一个垂直群集。,垂直分片和垂直群集,EMP(E#,NAME,SAL,TEL,MAGNUM,DEPT)假定 Key:E#主要应用:Sa 站点查询NAME,SAL,TEL;Sb 站点查询NAME,MAGNUM,DEPT 垂直分片:EMP1(E#,NAME,SAL,TEL)EMP2(E#,MAGNUM,DEPT)垂直群集:EMP1(E#,NAME,SAL,TEL)EMP2(E#,NAME,MAGNUM,DEPT),垂直分片/垂直群集例子,E1,E,E2,垂直分片例子,例子:E1(#,NM,LOC)E2(#,SAL)E(#,NM,L
14、OC,SAL)E1(#,NM)E2(#,LOC)E3(#,SAL),?,垂直分片设计,非键属性 A1,A2,An应用 Q1,Q2,.,Qmfreq(Qi)=Qi 的访问频率,属性的亲和关系,R1K,A1,A2,A3 R2K,A4,A5,属性亲和矩阵,行列调整寻找分割点,属性和矩阵,穷举属性亲和矩阵的列排列行与列要同时调整发现好的“分割点”极大化每个分割内的亲合力(affinity),极小化跨分割的访问,垂直分片算法,水平 基本:R 根据 local属性 导出 根据外键关系垂直R,分片小结,混合分段,R,R1,R2,R11,R12,R21,R22,水平,垂直,分片小结,混合分段的重构,R11,R
15、12,R21,R22,水平,垂直,U,在满足用户需求的前提下,把设计好的数据片段分配到相应的站点上存储例子:E(#,NM,LOC,SAL)R1=loc=Sa E;R2=loc=Sb E Qa:select where loc=Sa.Qb:select where loc=Sb,Site a,Site b,R1,R2 存放在哪?,?,分配方法,非冗余分配设计方法,最佳适应法,其他方法,冗余分配的设计方法,所有得益站点法,附加复制法,应用需求,确定非复制问题的解确定一组站点分配副本,确定非复制问题的解从最有益处增加副本到附加复制无好处为止,什么是段的最好配置/什么是最好的冗余副本数:极小化查询响应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 数据库 系统 设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5929690.html