分布式数据库系统的设计_第1页
分布式数据库系统的设计_第2页
分布式数据库系统的设计_第3页
分布式数据库系统的设计_第4页
分布式数据库系统的设计_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、徐俊刚徐俊刚()20072007年年2 2月月20072007年年6 6月月分布式数据库系统设计概述分布式数据库系统设计概述自顶向下设计分布式数据库自顶向下设计分布式数据库DATAID-DDATAID-D方法方法实例研究:飞机订票系统实例研究:飞机订票系统自底向上设计分布式数据库自底向上设计分布式数据库分布式数据库系统设计分布式数据库系统设计 第第2章章分布式数据库设计概述分布式数据库设计概述1创建方法创建方法1.1 组合法组合法 剖析网络剖析网络功能功能剖析原有剖析原有数据库系数据库系统统解决数据解决数据的一致性、的一致性、完整性和完整性和可靠性可靠性难度较大难度较大 通常通常是异构或是异构

2、或者同构异者同构异质质DDBS用户1用户2用户n分布式协调管理系统DBMS1DBMS2DBMSm 网络分布式数据库设计概述分布式数据库设计概述1DDBSDDBS创建方法创建方法1.1 重构法重构法 根据实现环境根据实现环境和用户需求和用户需求按照按照DDBS的的设计思想和方设计思想和方法法从总体设计做从总体设计做起,包括起,包括LDBS,重新建重新建立一个立一个DDBS可有效解决数可有效解决数据一致性、完据一致性、完整性和可靠性整性和可靠性问题。问题。 通常是同通常是同构异质或同构构异质或同构同质同质DDBS用户1用户2用户n分布式数据库管理系统 网络1.2 DDBS DDBS设计内容设计内容

3、1 1 分布式数据库设计概述分布式数据库设计概述DDBS设计设计DDB设计设计应用设计应用设计全局模式设计全局模式设计局部数据库设计局部数据库设计相关应用需求相关应用需求各个应用的原发站点各个应用的原发站点各个应用在每个站点的激活频率各个应用在每个站点的激活频率各个应用对要求访问数据对象的各个应用对要求访问数据对象的访问次数、类型和统计分布访问次数、类型和统计分布分片和分布分片和分布1.3 DDBS DDBS设计目标设计目标1 1 分布式数据库设计概述分布式数据库设计概述DDBS设计目标设计目标本地性或近地性本地性或近地性存储能力和费用存储能力和费用尽量减少通信次数和通信量,尽量减少通信次数和

4、通信量,90/10准则准则分片和分布方案(分片和分布方案(本地和远程访问次数本地和远程访问次数)择优)择优控制数据适当冗余控制数据适当冗余冗余增加了可靠性、可用性,提高了效率冗余增加了可靠性、可用性,提高了效率维护数据一致性开销增加维护数据一致性开销增加工作负荷分布工作负荷分布各站点可以分担整个工作任务各站点可以分担整个工作任务本地性降低本地性降低1.4 DDBS DDBS设计方法设计方法1 1 分布式数据库设计概述分布式数据库设计概述DDBS设计方法设计方法自顶向下方法(重构法)自顶向下方法(重构法)混合方法混合方法自底向上方法(组合法)自底向上方法(组合法)2.1 步骤和内容步骤和内容2

5、2 自顶向下设计自顶向下设计DDBDDB需求分析概念设计视图设计分布设计物理设计观察与监视系统需求全局概念模式访问模式外部模式定义局部概念模式物理模式用户输入视图集成用户输入反馈反馈自顶向下设计过程 假若有全局关系R 被分片为子关系(片段)集合 R = R1, R2, , Rn, 则 R满足 完整性?x R, Ri R 必有必有 x Ri ,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(垂直分片

6、) 2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB 分片原则分片原则 职工关系 E (e#, name, loc, sal,) 查询: Qa: select * Qb: select *from E from Ewhere loc=Sa where loc=Sband and .两个站点 : Sa, Sb Qa QbSaSb2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB 举例举例 e# NM Loc Sal E578Sa 1000SallySb 2500TomSa 500Joee# NM Loc Sale# NM Loc Sa

7、l58Sa 1000TomSa 500Joe7Sb 2500Sally.FF站点Sa站点 Sb2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB 举例举例 基本水平分片 以关系自身的属性性质为基础,执行以关系自身的属性性质为基础,执行“选选择择”操作,将关系分割成若干个不相交的操作,将关系分割成若干个不相交的片段。片段。 RR = R1, R2 R1 = loc=Sa(E) R2 = loc=Sb(E)2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB 基本水平分片基本水平分片 若 R = R1, R2, , Rn, 则 完整性 对于

8、每一个元组 t R, Ri R 使得 t Ri 不相交性 对 t Ri, Rj 使得 t Rj, i j 可重构性 操作是 (可以忽略, 因为完整性就蕴含着) R = R1, R2, , Rn P = p1, p2, , pn是一简单谓词集合,为保证分片的正确性,P必须是: 完整的:同一分片中的任意两个元组被应用同样概率访问。 最小的:集合P中的所有谓词与应用密切相关。 具有完整性和最小性不是必要条件, 但是对于简化分配问题有好处2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB 基本水平分片基本水平分片 例子EMP ( E#, NAME, DEPT, JOB,

9、SAL, TEL, ) DEPT=1,2 JOB=P, -P假定,应用经常查询的内容是属于部门1且是程序员的职员。 则可能有的水平分段限定 P= DEPT=1 (不是完整的) P=DEPT=1, JOB=P (是完整的、最小的) P=DEPT=1, JOB=P, SAL500 (完整的,不是最小的)2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB 基本水平分片基本水平分片 如何保证分片原则 “手工”检查!e.g., R1 = loc=Sa E ; R2 = loc=Sb E 生成具有满足分段原则的限定谓词2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自

10、顶向下设计DDBDDB 基本水平分片基本水平分片 设有关系 E (e#,name,Loc,sal,A,), 查询使用的简单谓词(Ai Value)是: A5, Loc = Sa, Loc = Sb 下一步: - 生成 “小项” 谓词- 消除无用谓词 给定简单谓词集 Pr= p1, p2,. pn , 则“小项”谓词(minterm predicate)形式:p1* p2* pn* 这里 pk* 是 pk 或是 pk2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB 谓词生成举例谓词生成举例(1) A5 Loc=SA Loc=SB(2) A5 Loc=SA (Loc

11、=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) A5) (Loc=SA) Loc=SB(8) A5) (Loc=SA) (Loc=SB)2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB小项谓词选择小项谓词选择 (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)

12、Loc=SA Loc=SB(14) (A5) Loc=SA (Loc=SB)(15) (A5) (Loc=SA) Loc=SB(16) (A5) (Loc=SA) (Loc=SB)2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB小项谓词选择小项谓词选择R2:5 A 10 Loc=SA R3:5 A 10 Loc=SB R6:A 5 Loc=SA R7:A 5 Loc=SB R10:A 10 Loc=SA R11:A 10 Loc=SB 分片结果分片结果2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB注注: :无用段的消除依赖于应用

13、的语义无用段的消除依赖于应用的语义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 SB2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB 小项选择率(minterm selectivity) 对某一给定小项谓词用户查询可能选择到的元组数 访问频率(Access frequency)用户应用访问数据的频率 小项访问频率可以通过用户查询频率获得2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDB

14、DDB分片数量信息分片数量信息 例子 E(#, NM, LOC, SAL,) 有查询应用Qa: select *Qb: select * from Efrom E where LOC=Sa where LOC=Sb and and .2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB如何选择小项谓词举例如何选择小项谓词举例(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=S

15、a sal1000 E, loc=Sb sal1000E, loc=Sb sal1000 E 三种选择三种选择2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDBLoc=Sa sal 1000Loc=Sa sal 1000Loc=Sb sal 1000Loc=Sb sal 1000RR1RR3RR2Qa: Select loc = Sa .Qb: Select loc = Sb .RR2 是好的( RR1 , RR3不好 ) 2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB图示图示Loc=Sa sal 1000Loc=Sa sal 1

16、000Loc=Sb sal 1000Loc=Sb sal 1000RR1Qa: Select loc = Sa .Qb: Select loc = Sb .此处元组有较高的选择概率此处元组选择概率较低分段内元组选择概率不等因此 RR1 不好.2.2 数据的分片设计数据的分片设计2 2 自顶向下设计自顶向下设计DDBDDB理由理由Loc=Sa sal 1000Loc=Sa sal 1000Loc=Sb sal R1在Site1, R2在Site2, R3在Site3. B R1和R2在Site1, R2和R3在Site3.另已知有如下应用(所有应用的频率相同) A1: 在Site1上发出, 读5

17、个 R1记录, 5个 R2记录 A2: 在Site3上发出, 读5个R3记录 , 5个R2记录 A3: 在Site2上发出, 读10个R2记录.问: 1. 如果以本地应用为主要设计目标, 那个分配较优? 2. 假定A3改为要修改10个R2记录, 并仍以本地应用为其设计目标, 则那个分配方案较优?站点站点1站点站点2站点站点3站点站点3站点站点2站点站点1A1R1A3R2A2R3A1R1, R2A3A2R2, R3方方案案A方方案案B读取读取更新更新10101055 图2-12 COMPANY关系数据库模式, 主码用下划线标出 EMPLOYFNAMEMINIT LNAMEESSNBDATEADD

18、RESSSEXSALARYSUPERSSNDNODEPARTMENTDNAMEDNOMGRSSNMGRSTARTDATEDEPT_LOCATIONDNODLOCATIONPROJECTPNAMEPNOPLOCATIONDNO WORKS_ONESSNPNOHOURSDEPENDENTESSNDEPENDENT_NAMESEXBDATERELATIONSHIPExercise 2 三个站点A,B,C 部门1(总部),部门2,部门3 在站点B上频繁访问EMPLOYEE,PROJECT中有关工作在部门2的雇员和该部门管辖的项目信息 在站点C上频繁访问EMPLOYEE,PROJECT中有关工作在部门3

19、的雇员和该部门管辖的项目信息 雇员信息主要是指EMPLOYEE表中的FNAME,ESSN,SALARY,SUPERSSN属性 A,B,C站点上频繁访问本站点所在部门的项目工时信息 站点A供公司总部使用,经常存取为保险目的而纪录的DEPENDENT信息外,还定期地存取所有雇员和项目的信息FNAMEMINIT LNAME ESSN SALARYSUPERSSN DNOAlicia J Zelaya 999887777 25000 987654321 2Jennifer S Wallace 987654321 43000 888665555 2Ahmad V Jabbar 987987987 250

20、00 987654321 2EMPD2DEP2DNAMEDNOMGRSSNMGRSTARTDATEAdministr 2987654321 2003-01-01DEP2_LOCSDNODLOCATION 2StatlondDEP2_WORKSON ESSNPNOHOURS333445555 10 10.0999887777 30 30.0999887777 10 10.0987987987 10 35.0987987987 30 5.0987654321 30 20.0987654321 30 15.0DEP2_PROJECTPNAMEPNOPLOCATIONDNOComputer 10 St

21、artlond 2Newbenef 30 Startlond 2图2-13 站点的片段分配(b)站点B上的对应于部门2的关系片段FNAMEMINIT LNAME SSN SALARYSUPERSSN DNOJohn B Smith 123456789 30000 333445555 3Franklin T Wong 333445555 40000 888665555 3Ramesh K Narayan 666884444 38000 333445555 3Joyce A English 453453453 25000 333445555 3EMPD3DEP3DNAMEDNOMGRSSNMGRS

22、TARTDATEResearch 3333445555 2003-05-22DEP3_LOCSDNODLOCATION 3Bellaire 3Sugarlnd 3HoustonDEP3_WORKSON ESSNPNOHOURS123456789 1 32.5123456789 2 7.5666884444 3 40.0453453453 1 20.0453453453 2 20.0333445555 2 10.0333445555 3 10.0 DEP3_PROJECTPNAMEPNOPLOCATIONDNOProduct X 1 Bellaire 3Product Y 2 ugarlnd 3

23、Product Z 3 Houston 3图2-13 站点的片段分配(a)站点C上的对应于部门3的关系片段 图2-15 站点A上的对应于部门1(总部)的片断 EMPLOYEEPROJECTPNAMEPNUMERPLOCATIONDNUMDEPENDENTESSNDEPENDENT_NAMESEXBDATERELATIONSHIPFNAMEMINIT LNAME SSN SALARYSUPERSSN DNOAlicia J Zelaya 999887777 25000 987654321 2Jennifer S Wallace 987654321 43000 888665555 2Ahmad V Jabbar 987987987 25000 987654321 2John B Smith 123456789 30000 333445555 3Franklin T Wong 333445555 40000 888665555 3Ramesh K Narayan 666884444 38000 333445555 3Joyce A English 453453453 25000 333445555 3Exercise 3 建立百货连锁店分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论