数据库系统概论课件:第14章 分布式数据库

上传人:M****1 文档编号:568805467 上传时间:2024-07-26 格式:PPT 页数:73 大小:1.45MB
返回 下载 相关 举报
数据库系统概论课件:第14章 分布式数据库_第1页
第1页 / 共73页
数据库系统概论课件:第14章 分布式数据库_第2页
第2页 / 共73页
数据库系统概论课件:第14章 分布式数据库_第3页
第3页 / 共73页
数据库系统概论课件:第14章 分布式数据库_第4页
第4页 / 共73页
数据库系统概论课件:第14章 分布式数据库_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《数据库系统概论课件:第14章 分布式数据库》由会员分享,可在线阅读,更多相关《数据库系统概论课件:第14章 分布式数据库(73页珍藏版)》请在金锄头文库上搜索。

1、 中国人民大学信息学院中国人民大学信息学院 数据库系统概论数据库系统概论An Introduction to Database System第十四章第十四章 分布式数据库分布式数据库An Introduction to Database System第十四章第十四章 分布式数据库分布式数据库14.1 概述概述14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.3 查询处理和优化查询处理和优化14.4 分布事务管理分布事务管理14.5 小结小结An Introduction to Database System14.1 概述概述14.1.1 分布式数据库系统分布式数据库系统14.

2、1.2 分布式数据库系统的特点分布式数据库系统的特点An Introduction to Database System14.1.1 分布式数据库系统分布式数据库系统v什么是分布式数据库?n分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同结点(亦称场地)上,逻辑上是属于同一个系统。 分布性逻辑整体性An Introduction to Database System分布式数据库系统分布式数据库系统(续续)图14.1 一个分布式数据库系统 v例1如图14.1所示An Introduction to Database System分布式数据库系统分布式数据库系统(续续)n区分一个系

3、统是若干集中式数据库的简单连网还是分布式数据库系统的技术要点在于: 系统是否支持全局应用系统是否支持全局应用 n一个典型的例子是银行转账从一个分行的账户(设在DB1数据库)中转移若干金额到另一个分行的账户(设在DB3数据库)中去要同时更新两个结点上的数据库An Introduction to Database System分布式数据库系统分布式数据库系统(续续)图14.2 一个多处理机系统(SN并行结构)v例2如图14.2所示An Introduction to Database System分布式数据库系统分布式数据库系统(续续)n多处理机系统(SN并行结构)没有局部应用n分布式数据库不仅要

4、求数据的物理分布,而且要求这种分布是面向处理、面向应用的An Introduction to Database System分布式数据库系统分布式数据库系统(续续)v分布式数据库:n分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个结点也能通过网络通信子系统执行全局应用。场地自治性自治场地之间的协作性An Introduction to Database System14.1 概述概述14.1.1 分布式数据库系统分布式数据库系统14.1.2 分布式数据库系统的特点分布式数据库系统的特点An

5、Introduction to Database System分布式数据库系统的特点分布式数据库系统的特点(续续)v一、数据独立性n逻辑独立性n物理独立性n数据分布独立性(分布透明性)用户的应用程序书写起来就如同数据没有分布一样An Introduction to Database System分布式数据库系统的特点分布式数据库系统的特点(续续)v二、集中与自治相结合的控制结构n数据共享:(1) 局部共享(2)全局共享n控制机制:集中自治An Introduction to Database System分布式数据库系统的特点分布式数据库系统的特点(续续)v三、适当增加数据冗余度n提高系统的可

6、靠性、可用性n提高系统性能v四、全局的一致性、可串行性和可恢复性n局部数据库要保证ACIDn全局数据库也要保证ACIDAn Introduction to Database System第十四章第十四章 分布式数据库分布式数据库14.1 概述概述14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.3 查询处理和优化查询处理和优化14.4 分布事务管理分布事务管理14.5 小结小结An Introduction to Database System14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.2.1 分布式数据库系统的模式结构分布式数据库系统的模式结构14.

7、2.2 数据分片数据分片14.2.3 分布透明性分布透明性14.2.4 分布式数据库管理系统分布式数据库管理系统An Introduction to Database System14.2.1 分布式数据库系统的模式结构分布式数据库系统的模式结构图14.3 分布式数据库系统的模式结构An Introduction to Database System分布式数据库系统的模式结构分布式数据库系统的模式结构(续续)v分布式数据库系统增加的模式级别n(1) 全局外模式(Global External Schema)n(2) 全局概念模式(Global Conceptual Schema)n(3) 分片

8、模式(Fragmentation Schema)片段(Fragment)定义片段以及全局关系到片段的映象n(4) 分布模式(Allocation Schema)定义片段的存放地点An Introduction to Database System14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.2.1 分布式数据库系统的模式结构分布式数据库系统的模式结构14.2.2 数据分片数据分片14.2.3 分布透明性分布透明性14.2.4 分布式数据库管理系统分布式数据库管理系统An Introduction to Database System14.2.2 数据分片数据分片v数据分片

9、n有利于按照用户的需求较好地组织数据的分布n有利于控制数据的冗余度v数据分片的方式n水平分片n垂直分片n混合分片n导出分片An Introduction to Database System数据分片数据分片(续续)v水平分片n按一定的条件将关系按行(水平方向)分为若干不相交的子集,每个子集为关系的一个片段。v垂直分片n指将关系按列(垂直方向)分为若干子集。n每个片段通常都包含关系的码 An Introduction to Database System数据分片数据分片(续续)v导出分片n是指导出水平分片,即水平分片的条件不是本身属性的条件而是其他关系的属性的条件。 An Introductio

10、n to Database System数据分片数据分片(续续)例学生选课关系SC(Sno,Cno,Grade),按照学生年龄18岁和18岁分片(学生年龄是学生关系Student的属性) n年龄18岁的学生选课片段由下面的查询结果组成: SELECT Sno,Cno,Grade FROM S,SC WHERE S.SnoSC.Sno AND S.Sage18;n年龄18岁的片段SC_B由下面的查询结果组成: SELECT Sno,Cno,Grade FROM S,SC WHERE S.SnoSC.Sno AND S.Sage18;An Introduction to Database Syst

11、em数据分片数据分片(续续)v混合分片n是指按上述三种分片方式得到的片段继续按另一种方式分片。v例如,先按垂直分片再按水平分片方式继续分片。 v例如,先按水平分片得到的某一片段再进行垂直分片。An Introduction to Database System数据分片数据分片(续续)v分片应满足的条件n完全性n不相交性n可重构性垂直分片:连接水平分片:并操作An Introduction to Database System14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.2.1 分布式数据库系统的模式结构分布式数据库系统的模式结构14.2.2 数据分片数据分片14.2.3

12、分布透明性分布透明性14.2.4 分布式数据库管理系统分布式数据库管理系统An Introduction to Database System14.2.3 分布透明性分布透明性v分片透明性 最高层次n用户或应用程序只对全局关系进行操作而不必考虑关系的分片v位置透明 下一层次n用户或应用程序不必了解片段的存储场地,当存储场地改变了,由于分片模式到分布模式的映像(映像3),应用程序不必改变v局部数据模型透明性 较低层次n是指用户或用户程序不必了解局部场地上使用的是哪种数据模型,模型的转换以及数据库语言的转换均由映像4完成An Introduction to Database System分布透明性

13、分布透明性(续续)例1设在分布式数据库系统中有全局关系 Student(Sno,Sname,Sdept,Sage) Student关系被划分为两个片段S_A和S_B。 S_A代表理学院的学生,S_B代表文学院的学生。 S_A存储在场地1(Site1),S_B冗余地存储在场地2和场地3上。An Introduction to Database System分布透明性分布透明性(续续)v要求n从终端读入一个学号,查找该学号的学生姓名、年龄,并把它们显示在屏幕上。n设应用程序是用嵌入SQL语句的C语言写的。现给出查询部分的算法思想。An Introduction to Database System

14、分布透明性分布透明性(续续)v情况1系统具有分片透明性 Scanf(“% s”,Snumber); EXEC SQL SELECT Sname,Sage INTO:NAME,:AGE FROM Student WHERE Sno :Snumber; Printf(% s,% d,NAME,AGE);程序变量程序变量An Introduction to Database System分布透明性分布透明性(续续)v情况2系统具有位置透明性,但不具有分片透明性 Scanf(% s“,Snumber); EXEC SQL SELECT Sname,Sage INTO:NAME,:AGE FROM S_

15、A WHERE Sno :Snumber; If(! FOUND) EXEC SQL SELECT Sname,Sage INTO :NAME,:AGE FROM S_B WHERE Sno :Snumber; Printf(% s,% d“,NAME,AGE);An Introduction to Database System分布透明性分布透明性(续续)v情况3系统只具有局部数据模型透明性,不具有位置透明性 Scanf(% s“,Snumber); EXEC SQL SELECT Sname, Sage INTO : NAME,:AGE FROM S_A AT Site1 WHERE Sn

16、o :Snumber; If(! FOUND) EXEC SQL SELECT Sname, Sage INTO : NAME,:AGE FROM S_B AT Site2 WHERE Sno:Snumber; Printf(“% s,% d”, NAME,AGE);An Introduction to Database System14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.2.1 分布式数据库系统的模式结构分布式数据库系统的模式结构14.2.2 数据分片数据分片14.2.3 分布透明性分布透明性14.2.4 分布式数据库管理系统分布式数据库管理系统An Introd

17、uction to Database System14.2.4 分布式数据库管理系统分布式数据库管理系统v分布式数据库管理系统(Distributed Data Management System,D-DBMS)n建立、管理和维护分布式数据库的一组软件 An Introduction to Database System分布式数据库管理系统分布式数据库管理系统(续续)vD-DBMS的结构 分布式数据库管理系统的结构 An Introduction to Database System分布式数据库管理系统分布式数据库管理系统(续续)vD-DBMS由四部分组成:n(1)局部数据库管理系统LDBMS

18、(Local DBMS)n(2)全局数据库管理系统GDBMS(Global DBMS)n(3) 全局数据字典(Global Data Directory,GDD)n(4) 通信管理(Communication Management,CM)An Introduction to Database System分布式数据库管理系统分布式数据库管理系统(续续)v一、按全局控制方式分类n1.全局控制集中的D-DBMS 全局控制成分GDBMS集中在某一结点上,全局数据字典只有一个,也存放在该结点上。n2.全局控制分散的D-DBMS 全局控制成分GDBMS分散在网络的每一个结点上,全局数据字典也在每个结点上

19、存放一份。n3.全局控制部分分散的D-DBMS根据应用的需要将GDBMS和全局数据字典分散在某些结点上。An Introduction to Database System分布式数据库管理系统分布式数据库管理系统(续续)v二、按局部DBMS的类型分类 n同构型D-DBMS每个结点的局部数据库具有相同的DBMS即使操作系统和计算机硬件并不相同n异构型D-DBMS各结点的局部数据库具有不同的DBMSAn Introduction to Database System第十四章第十四章 分布式数据库分布式数据库14.1 概述概述14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.3 查

20、询处理和优化查询处理和优化14.4 分布事务管理分布事务管理14.5 小结小结An Introduction to Database System14.3 查询处理和优化查询处理和优化14.3.1 一个实例一个实例14.3.2 查询处理和优化要解决的问题查询处理和优化要解决的问题14.3.3 查询优化的目标查询优化的目标14.3.4 连接查询的优化连接查询的优化An Introduction to Database System14.3.1 一个实例一个实例v数据库:简化了的供应商和零件数据库 S(Sno,City)104个元组,存放在场地A; P(Pno,Color)105个元组,存放在场地

21、B; SP(Sno,Pno)166个元组,存放在场地A; 设每个关系的元组均为100字节长。v查询:求供应红色零件的、北京的供应商号 SELECT S.Sno FROM S,P,SP WHERE S.City=北京 AND SP.Pno=P.Pno AND P.Color=红色An Introduction to Database System一个实例一个实例(续续)v估算值(某些中间结果的元组数) 红色零件数=10 北京供应商的装运单数=105v对通信系统的假定 数据传输速度=104字节/秒 传输延迟=1秒An Introduction to Database System一个实例一个实例(

22、续续)v6种可能的查询存取策略,对每种i 分别计算通信时间Ti:Ti总传输延迟+总数据量/数据传输速度(单位:b/s)v策略1 把关系P传送到场地A,在A地进行查询处理。 T1=1+105100/104=103秒(16.7分)An Introduction to Database System一个实例一个实例(续续)v策略2 把关系S、SP传到场地B,在B地执行查询处理 T2=2+(104+106)100/10410100秒(2.8小时) An Introduction to Database System一个实例一个实例(续续)v策略3 在场地A连接关系S和SP,选出城市为北京的元组(105

23、个),然后对这些元组中的每个元组的Pno,询问场地B,看此零件是否红色。共问答105次,由于不是传送数据,只是消息的问答,所以 T3=2105 s(2.3天)An Introduction to Database System一个实例一个实例(续续)v策略4 在场地B选出红色零件的元组(10个),然后对每一个元组逐一检查场地A,看北京供应商的装运单中是否有这个零件装运单(若有则选出S#)。 每做这样一次检查包括2次消息,共问一答10次,所以 T4=210=20秒An Introduction to Database System一个实例一个实例(续续)v策略5 在场地A选出北京的供应商的装运单

24、把结果送到场地B,在场地B完成最后处理,所以 T5=1+(105100)/1041000秒(16.7分)An Introduction to Database System一个实例一个实例(续续)v策略6 在场地B的关系 P 中选出红色的元组(10个),把结果送到场地A完成最终处理。所以 T6=1+(10100)/1041秒An Introduction to Database System一个实例一个实例(续续)表14.1 分布环境下查询策略实例比较策 略通信时间方 法116.7分把P传到场地A22.8小时把S,SP传到场地B32.3天对每一北京的装运单,检查相应零件是否红色420秒对每一红

25、色零件,检查北京供应商中是否有人供应516.7分把北京供应商的装运单传送到场地B61秒把红色零件传送到场地AAn Introduction to Database System一个实例一个实例(续续)v(1) 不同的存取策略通信时间相差很大,达多个数量级! - 优化。v(2)不同策略,不同的考虑方式 n有些策略中数据传输速度和传输延迟都要考虑n有些策略中(如策略3、策略4)主要考虑传输延迟n有些策略中(如策略1、策略2、策略5)数据传输量大,主要考虑传输时间An Introduction to Database System14.3 查询处理和优化查询处理和优化14.3.1 一个实例一个实例1

26、4.3.2 查询处理和优化要解决的问题查询处理和优化要解决的问题14.3.3 查询优化的目标查询优化的目标14.3.4 连接查询的优化连接查询的优化An Introduction to Database System14.3.2 查询处理和优化要解决的问题查询处理和优化要解决的问题v分布式数据库系统中的三类查询:n局部查询n远程查询n全局查询v局部查询和远程查询优化n采用的技术是集中式数据库的查询优化技术(代数优化和非代数优化)An Introduction to Database System查询处理和优化要解决的问题查询处理和优化要解决的问题(续续)v全局查询处理和优化涉及的问题 n1.查

27、询分解n2.选择操作执行的次序n3.选择执行操作的方法An Introduction to Database System14.3 查询处理和优化查询处理和优化14.3.1 一个实例一个实例14.3.2 查询处理和优化要解决的问题查询处理和优化要解决的问题14.3.3 查询优化的目标查询优化的目标14.3.4 连接查询的优化连接查询的优化An Introduction to Database System14.3.3 查询优化的目标查询优化的目标v集中式数据库的查询开销nI/O代价+CPU代价v分布式数据库的查询开销nI/O代价+CPU代价+通信代价n查询优化首要目标:通信代价最省An Int

28、roduction to Database System查询优化的目标查询优化的目标(续续)v通信代价可以用下面的公式粗略计算: TC(X)C0 + X * C1 nX:数据传输量,这里以b(位)为单位计算;nC0 :两结点之间初始化一次传输所花费的开销,它由通信系统决定,近似为一个常数,单位为s(秒);nC1 :单位数据(b)传输的代价,单位为(s/b)。 An Introduction to Database System14.3 查询处理和优化查询处理和优化14.3.1 一个实例一个实例14.3.2 查询处理和优化要解决的问题查询处理和优化要解决的问题14.3.3 查询优化的目标查询优化

29、的目标14.3.4 连接查询的优化连接查询的优化An Introduction to Database System14.3.4 连接查询的优化连接查询的优化v两种优化方法n半连接:缩减关系(或片段)进而节省传输开销n直接连接An Introduction to Database System14.3.4 连接查询的优化(续)连接查询的优化(续)v 半连接n R S R ( B(S)v用半连接实现的连接运算nR S = (R S) SA = BA = BA = BA = BA = BAn Introduction to Database System14.3.4 连接查询的优化(续)连接查询的

30、优化(续)n设关系R和S分别存放在结点r和s上结点结点rR结点结点sS B(S) R S RR n1. 在结点s作关系S的投影n2. 把投影 送到结点r,代价为 C0 C1 size(B) val(BS)n3. 在结点r计算半连接,结果为R, R = R Sn4. 把R从结点r送到结点s,代价为C0 C1 size(R) card(R)n5. 在结点s执行连接操作B(S)B(S)A = BAn Introduction to Database System14.3.4 连接查询的优化(续)连接查询的优化(续)v半连接方案的总代价Csj 2C0 C1(size(B) val(B(S) + siz

31、e(R) card(R)v直接连接代价Cjn = C0 C1 size(R) card(R)Csj Cjn 时采用半连接。 An Introduction to Database System14.3.4 连接查询的优化(续)连接查询的优化(续)v直接连接nR*系统(IBM SanJose研究室研制)嵌套循环排序-合并两种传输方式整体传输按需传输An Introduction to Database System第十四章第十四章 分布式数据库分布式数据库14.1 概述概述14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.3 查询处理和优化查询处理和优化14.4 分布事务管理分

32、布事务管理14.5 小结小结An Introduction to Database System14.4 分布事务管理分布事务管理14.4.1 分布事务的恢复分布事务的恢复14.4.2 并发控制并发控制 An Introduction to Database System14.4 分布事务管理分布事务管理v事务分布执行v分布事务的原子性n组成该事务的所有子事务要么一致地全部提交,要么一致地全部回滚v分布事务的可串行性An Introduction to Database System14.4.1 分布事务的恢复分布事务的恢复v故障和错误n各场地和集中式数据库相同n通信网络中信息丢失、长时间延迟

33、、网络线路中断等v恢复策略n局部事务管理器:保证子事务完整性n局部管理器之间相互协调An Introduction to Database System14.4.1 分布事务的恢复(续)分布事务的恢复(续)v两段提交协议(2-Phase-Commitment Protocol)n协调者:一个做出提交还是撤销的最后决定n参与者:所有其他管理相应子事务的执行An Introduction to Database System14.4.1 分布事务的恢复(续)分布事务的恢复(续)v第一阶段n协调者发出“准备提交”信息n参与者回答“就绪”或“撤销”信息n协调者作出提交或撤销的决定v第二阶段n协调者把决

34、定信息写入日志,并发给所有参与者n参与者把收到的决定信息写入日志,并发送“应答”信息n协调者收到所有应答信息后,事务执行到此结束An Introduction to Database System14.4.1 分布事务的恢复(续)分布事务的恢复(续)v紧致一致性(Tight Consistency)n各结点完全同步n缺点全局事务可靠性低系统效率低下v松散一致性(Loose Consistency)n数据各副本的修改是异步的n更加灵活,提高系统的可用性An Introduction to Database System14.4.2 并发控制并发控制v集中式数据库封锁机制n锁的类型:共享锁(SLo

35、ck)、排它锁(XLock)n封锁对象:表、记录n规则:遵守锁的相容性 遵守两段锁协议v分布式数据库n支持多副本n由于事务的分布执行,封锁会引起全局死锁An Introduction to Database System14.4.2 并发控制(续)并发控制(续)v多副本v几种解决方案n对写操作,要申请所有副本的X锁;对读操作,只要申请对某个副本的S锁。n无论读还是写都要对多数(大于半数)副本申请X或S锁n规定主副本,所有操作均申请对主副本的封锁T1在场地在场地1XLock(dsite1)T2在场地在场地2XLock(dsite2)An Introduction to Database Syst

36、em14.4.2 并发控制(续)并发控制(续)v死锁n全局死锁:包括两个以上场地上的死锁n检测方法:分布等待图n预防方法:对事务按某一标准排序,只允许事务沿这一次序单向等待An Introduction to Database System第十四章第十四章 分布式数据库分布式数据库14.1 概述概述14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.3 查询处理和优化查询处理和优化14.4 分布事务管理分布事务管理14.5 小结小结An Introduction to Database System14.5 小小结v分布式数据库系统n基本概念以集中式数据库系统技术为基础丰富了集中式数据库的概念和技术内容n主要问题查询优化事务管理An Introduction to Database System

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号