数据库系统概论 分布式数据库.pptx

上传人:莉*** 文档编号:87372146 上传时间:2023-04-16 格式:PPTX 页数:73 大小:1.24MB
返回 下载 相关 举报
数据库系统概论 分布式数据库.pptx_第1页
第1页 / 共73页
数据库系统概论 分布式数据库.pptx_第2页
第2页 / 共73页
点击查看更多>>
资源描述

《数据库系统概论 分布式数据库.pptx》由会员分享,可在线阅读,更多相关《数据库系统概论 分布式数据库.pptx(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第十四章第十四章 分布式数据库分布式数据库14.1 概述概述14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.3 查询处理和优化查询处理和优化14.4 分布事务管理分布事务管理14.5 小结小结第1页/共73页14.1 概述概述14.1.1 分布式数据库系统分布式数据库系统14.1.2 分布式数据库系统的特点分布式数据库系统的特点第2页/共73页14.1.1 分布式数据库系统分布式数据库系统什么是分布式数据库?分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同结点(亦称场地)上,逻辑上是属于同一个系统。分布性逻辑整体性第3页/共73页分布式数据库系统分布式数据库

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

3、应用分布式数据库不仅要求数据的物理分布,而且要求这种分布是面向处理、面向应用的第7页/共73页分布式数据库系统分布式数据库系统(续续)分布式数据库:分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个结点也能通过网络通信子系统执行全局应用。场地自治性自治场地之间的协作性第8页/共73页14.1 概述概述14.1.1 分布式数据库系统分布式数据库系统14.1.2 分布式数据库系统的特点分布式数据库系统的特点第9页/共73页分布式数据库系统的特点分布式数据库系统的特点(续续)一、数据独立性逻辑独立性

4、物理独立性数据分布独立性(分布透明性)用户的应用程序书写起来就如同数据没有分布一样第10页/共73页分布式数据库系统的特点分布式数据库系统的特点(续续)二、集中与自治相结合的控制结构数据共享:(1)局部共享(2)全局共享控制机制:集中自治第11页/共73页分布式数据库系统的特点分布式数据库系统的特点(续续)三、适当增加数据冗余度提高系统的可靠性、可用性提高系统性能四、全局的一致性、可串行性和可恢复性局部数据库要保证ACID全局数据库也要保证ACID第12页/共73页第十四章第十四章 分布式数据库分布式数据库14.1 概述概述14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.3

5、 查询处理和优化查询处理和优化14.4 分布事务管理分布事务管理14.5 小结小结第13页/共73页14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.2.1 分布式数据库系统的模式结构分布式数据库系统的模式结构14.2.2 数据分片数据分片14.2.3 分布透明性分布透明性14.2.4 分布式数据库管理系统分布式数据库管理系统第14页/共73页14.2.1 分布式数据库系统的模式结构分布式数据库系统的模式结构图14.3 分布式数据库系统的模式结构第15页/共73页分布式数据库系统的模式结构分布式数据库系统的模式结构(续续)分布式数据库系统增加的模式级别(1)全局外模式(Glo

6、bal External Schema)(2)全局概念模式(Global Conceptual Schema)(3)分片模式(Fragmentation Schema)片段(Fragment)定义片段以及全局关系到片段的映象(4)分布模式(Allocation Schema)定义片段的存放地点第16页/共73页14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.2.1 分布式数据库系统的模式结构分布式数据库系统的模式结构14.2.2 数据分片数据分片14.2.3 分布透明性分布透明性14.2.4 分布式数据库管理系统分布式数据库管理系统第17页/共73页14.2.2 数据分片数

7、据分片数据分片有利于按照用户的需求较好地组织数据的分布有利于控制数据的冗余度数据分片的方式水平分片垂直分片混合分片导出分片第18页/共73页数据分片数据分片(续续)水平分片按一定的条件将关系按行(水平方向)分为若干不相交的子集,每个子集为关系的一个片段。垂直分片指将关系按列(垂直方向)分为若干子集。每个片段通常都包含关系的码 第19页/共73页数据分片数据分片(续续)导出分片是指导出水平分片,即水平分片的条件不是本身属性的条件而是其他关系的属性的条件。第20页/共73页数据分片数据分片(续续)例学生选课关系SC(Sno,Cno,Grade),按照学生年龄18岁和18岁分片(学生年龄是学生关系S

8、tudent的属性)年龄18岁的学生选课片段由下面的查询结果组成:SELECT Sno,Cno,Grade FROM S,SC WHERE S.SnoSC.Sno AND S.Sage18;年龄18岁的片段SC_B由下面的查询结果组成:SELECT Sno,Cno,Grade FROM S,SC WHERE S.SnoSC.Sno AND S.Sage18;第21页/共73页数据分片数据分片(续续)混合分片是指按上述三种分片方式得到的片段继续按另一种方式分片。v例如,先按垂直分片再按水平分片方式继续分片。v例如,先按水平分片得到的某一片段再进行垂直分片。第22页/共73页数据分片数据分片(续续

9、)分片应满足的条件完全性不相交性可重构性垂直分片:连接水平分片:并操作第23页/共73页14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.2.1 分布式数据库系统的模式结构分布式数据库系统的模式结构14.2.2 数据分片数据分片14.2.3 分布透明性分布透明性14.2.4 分布式数据库管理系统分布式数据库管理系统第24页/共73页14.2.3 分布透明性分布透明性分片透明性 最高层次用户或应用程序只对全局关系进行操作而不必考虑关系的分片位置透明 下一层次用户或应用程序不必了解片段的存储场地,当存储场地改变了,由于分片模式到分布模式的映像(映像3),应用程序不必改变局部数据模

10、型透明性 较低层次是指用户或用户程序不必了解局部场地上使用的是哪种数据模型,模型的转换以及数据库语言的转换均由映像4完成第25页/共73页分布透明性分布透明性(续续)例1设在分布式数据库系统中有全局关系 Student(Sno,Sname,Sdept,Sage)Student关系被划分为两个片段S_A和S_B。S_A代表理学院的学生,S_B代表文学院的学生。S_A存储在场地1(Site1),S_B冗余地存储在场地2和场地3上。第26页/共73页分布透明性分布透明性(续续)要求从终端读入一个学号,查找该学号的学生姓名、年龄,并把它们显示在屏幕上。设应用程序是用嵌入SQL语句的C语言写的。现给出查

11、询部分的算法思想。第27页/共73页分布透明性分布透明性(续续)情况1系统具有分片透明性 Scanf(“%s”,Snumber);EXEC SQL SELECT Sname,Sage INTO:NAME,:AGE FROM Student WHERE Sno:Snumber;Printf(%s,%d,NAME,AGE);程序变量第28页/共73页分布透明性分布透明性(续续)情况2系统具有位置透明性,但不具有分片透明性 Scanf(%s“,Snumber);EXEC SQL SELECT Sname,Sage INTO:NAME,:AGE FROM S_A WHERE Sno:Snumber;I

12、f(!FOUND)EXEC SQL SELECT Sname,Sage INTO:NAME,:AGE FROM S_B WHERE Sno:Snumber;Printf(%s,%d“,NAME,AGE);第29页/共73页分布透明性分布透明性(续续)情况3系统只具有局部数据模型透明性,不具有位置透明性 Scanf(%s“,Snumber);EXEC SQL SELECT Sname,Sage INTO:NAME,:AGE FROM S_A AT Site1 WHERE Sno:Snumber;If(!FOUND)EXEC SQL SELECT Sname,Sage INTO:NAME,:AGE

13、 FROM S_B AT Site2 WHERE Sno:Snumber;Printf(“%s,%d”,NAME,AGE);第30页/共73页14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.2.1 分布式数据库系统的模式结构分布式数据库系统的模式结构14.2.2 数据分片数据分片14.2.3 分布透明性分布透明性14.2.4 分布式数据库管理系统分布式数据库管理系统第31页/共73页14.2.4 分布式数据库管理系统分布式数据库管理系统分布式数据库管理系统(Distributed Data Management System,D-DBMS)建立、管理和维护分布式数据库的一组

14、软件 第32页/共73页分布式数据库管理系统分布式数据库管理系统(续续)D-DBMS的结构 分布式数据库管理系统的结构 第33页/共73页分布式数据库管理系统分布式数据库管理系统(续续)D-DBMS由四部分组成:(1)局部数据库管理系统LDBMS(Local DBMS)(2)全局数据库管理系统GDBMS(Global DBMS)(3)全局数据字典(Global Data Directory,GDD)(4)通信管理(Communication Management,CM)第34页/共73页分布式数据库管理系统分布式数据库管理系统(续续)一、按全局控制方式分类1.全局控制集中的D-DBMS 全局控

15、制成分GDBMS集中在某一结点上,全局数据字典只有一个,也存放在该结点上。2.全局控制分散的D-DBMS 全局控制成分GDBMS分散在网络的每一个结点上,全局数据字典也在每个结点上存放一份。3.全局控制部分分散的D-DBMS根据应用的需要将GDBMS和全局数据字典分散在某些结点上。第35页/共73页分布式数据库管理系统分布式数据库管理系统(续续)二、按局部DBMS的类型分类 同构型D-DBMS每个结点的局部数据库具有相同的DBMS即使操作系统和计算机硬件并不相同异构型D-DBMS各结点的局部数据库具有不同的DBMS第36页/共73页第十四章第十四章 分布式数据库分布式数据库14.1 概述概述1

16、4.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.3 查询处理和优化查询处理和优化14.4 分布事务管理分布事务管理14.5 小结小结第37页/共73页14.3 查询处理和优化查询处理和优化14.3.1 一个实例一个实例14.3.2 查询处理和优化要解决的问题查询处理和优化要解决的问题14.3.3 查询优化的目标查询优化的目标14.3.4 连接查询的优化连接查询的优化第38页/共73页14.3.1 一个实例一个实例数据库:简化了的供应商和零件数据库 S(Sno,City)104个元组,存放在场地A;P(Pno,Color)105个元组,存放在场地B;SP(Sno,Pno)166

17、个元组,存放在场地A;设每个关系的元组均为100字节长。查询:求供应红色零件的、北京的供应商号 SELECT S.Sno FROM S,P,SP WHERE S.City=北京 AND SP.Pno=P.Pno AND P.Color=红色第39页/共73页一个实例一个实例(续续)估算值(某些中间结果的元组数)红色零件数=10 北京供应商的装运单数=105对通信系统的假定 数据传输速度=104字节/秒 传输延迟=1秒第40页/共73页一个实例一个实例(续续)6种可能的查询存取策略,对每种i 分别计算通信时间Ti:Ti总传输延迟+总数据量/数据传输速度(单位:b/s)策略1 把关系P传送到场地A

18、,在A地进行查询处理。T1=1+105100/104=103秒(16.7分)第41页/共73页一个实例一个实例(续续)策略2 把关系S、SP传到场地B,在B地执行查询处理 T2=2+(104+106)100/10410100秒(2.8小时)第42页/共73页一个实例一个实例(续续)策略3 在场地A连接关系S和SP,选出城市为北京的元组(105个),然后对这些元组中的每个元组的Pno,询问场地B,看此零件是否红色。共问答105次,由于不是传送数据,只是消息的问答,所以 T3=2105 s(2.3天)第43页/共73页一个实例一个实例(续续)策略4 在场地B选出红色零件的元组(10个),然后对每一

19、个元组逐一检查场地A,看北京供应商的装运单中是否有这个零件装运单(若有则选出S#)。每做这样一次检查包括2次消息,共问一答10次,所以 T4=210=20秒第44页/共73页一个实例一个实例(续续)策略5 在场地A选出北京的供应商的装运单把结果送到场地B,在场地B完成最后处理,所以 T5=1+(105100)/1041000秒(16.7分)第45页/共73页一个实例一个实例(续续)策略6 在场地B的关系 P 中选出红色的元组(10个),把结果送到场地A完成最终处理。所以 T6=1+(10100)/1041秒第46页/共73页一个实例一个实例(续续)表14.1 分布环境下查询策略实例比较策 略通

20、信时间方 法116.7分把P传到场地A22.8小时把S,SP传到场地B32.3天对每一北京的装运单,检查相应零件是否红色420秒对每一红色零件,检查北京供应商中是否有人供应516.7分把北京供应商的装运单传送到场地B61秒把红色零件传送到场地A第47页/共73页一个实例一个实例(续续)(1)不同的存取策略通信时间相差很大,达多个数量级!-优化。(2)不同策略,不同的考虑方式 有些策略中数据传输速度和传输延迟都要考虑有些策略中(如策略3、策略4)主要考虑传输延迟有些策略中(如策略1、策略2、策略5)数据传输量大,主要考虑传输时间第48页/共73页14.3 查询处理和优化查询处理和优化14.3.1

21、 一个实例一个实例14.3.2 查询处理和优化要解决的问题查询处理和优化要解决的问题14.3.3 查询优化的目标查询优化的目标14.3.4 连接查询的优化连接查询的优化第49页/共73页14.3.2 查询处理和优化要解决的问题查询处理和优化要解决的问题分布式数据库系统中的三类查询:局部查询远程查询全局查询局部查询和远程查询优化采用的技术是集中式数据库的查询优化技术(代数优化和非代数优化)第50页/共73页查询处理和优化要解决的问题查询处理和优化要解决的问题(续续)全局查询处理和优化涉及的问题 1.查询分解2.选择操作执行的次序3.选择执行操作的方法第51页/共73页14.3 查询处理和优化查询

22、处理和优化14.3.1 一个实例一个实例14.3.2 查询处理和优化要解决的问题查询处理和优化要解决的问题14.3.3 查询优化的目标查询优化的目标14.3.4 连接查询的优化连接查询的优化第52页/共73页14.3.3 查询优化的目标查询优化的目标集中式数据库的查询开销I/O代价+CPU代价分布式数据库的查询开销I/O代价+CPU代价+通信代价查询优化首要目标:通信代价最省第53页/共73页查询优化的目标查询优化的目标(续续)通信代价可以用下面的公式粗略计算:TC(X)C0+X*C1 X:数据传输量,这里以b(位)为单位计算;C0:两结点之间初始化一次传输所花费的开销,它由通信系统决定,近似

23、为一个常数,单位为s(秒);C1:单位数据(b)传输的代价,单位为(s/b)。第54页/共73页14.3 查询处理和优化查询处理和优化14.3.1 一个实例一个实例14.3.2 查询处理和优化要解决的问题查询处理和优化要解决的问题14.3.3 查询优化的目标查询优化的目标14.3.4 连接查询的优化连接查询的优化第55页/共73页14.3.4 连接查询的优化连接查询的优化两种优化方法半连接:缩减关系(或片段)进而节省传输开销直接连接第56页/共73页14.3.4 连接查询的优化(续)连接查询的优化(续)半连接 R S R (B(S)用半连接实现的连接运算R S=(R S)SA=BA=BA=BA

24、=BA=B第57页/共73页14.3.4 连接查询的优化(续)连接查询的优化(续)设关系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=B第58页/共73页14.3.4 连接查询的优化(续)连接查询的优化(续)半连接方案的总代价Csj 2C0 C1(size(B)val(B(S)+size(R)card(R)

25、直接连接代价Cjn=C0 C1 size(R)card(R)Csj Cjn 时采用半连接。第59页/共73页14.3.4 连接查询的优化(续)连接查询的优化(续)直接连接R*系统(IBM SanJose研究室研制)嵌套循环排序-合并两种传输方式整体传输按需传输第60页/共73页第十四章第十四章 分布式数据库分布式数据库14.1 概述概述14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.3 查询处理和优化查询处理和优化14.4 分布事务管理分布事务管理14.5 小结小结第61页/共73页14.4 分布事务管理分布事务管理14.4.1 分布事务的恢复分布事务的恢复14.4.2 并

26、发控制并发控制 第62页/共73页14.4 分布事务管理分布事务管理事务分布执行分布事务的原子性组成该事务的所有子事务要么一致地全部提交,要么一致地全部回滚分布事务的可串行性第63页/共73页14.4.1 分布事务的恢复分布事务的恢复故障和错误各场地和集中式数据库相同通信网络中信息丢失、长时间延迟、网络线路中断等恢复策略局部事务管理器:保证子事务完整性局部管理器之间相互协调第64页/共73页14.4.1 分布事务的恢复(续)分布事务的恢复(续)两段提交协议(2-Phase-Commitment Protocol)协调者:一个做出提交还是撤销的最后决定参与者:所有其他管理相应子事务的执行第65页

27、/共73页14.4.1 分布事务的恢复(续)分布事务的恢复(续)第一阶段协调者发出“准备提交”信息参与者回答“就绪”或“撤销”信息协调者作出提交或撤销的决定第二阶段协调者把决定信息写入日志,并发给所有参与者参与者把收到的决定信息写入日志,并发送“应答”信息协调者收到所有应答信息后,事务执行到此结束第66页/共73页14.4.1 分布事务的恢复(续)分布事务的恢复(续)紧致一致性(Tight Consistency)各结点完全同步缺点全局事务可靠性低系统效率低下松散一致性(Loose Consistency)数据各副本的修改是异步的更加灵活,提高系统的可用性第67页/共73页14.4.2 并发控

28、制并发控制集中式数据库封锁机制锁的类型:共享锁(SLock)、排它锁(XLock)封锁对象:表、记录规则:遵守锁的相容性 遵守两段锁协议分布式数据库支持多副本由于事务的分布执行,封锁会引起全局死锁第68页/共73页14.4.2 并发控制(续)并发控制(续)多副本几种解决方案对写操作,要申请所有副本的X锁;对读操作,只要申请对某个副本的S锁。无论读还是写都要对多数(大于半数)副本申请X或S锁规定主副本,所有操作均申请对主副本的封锁T1在场地1XLock(dsite1)T2在场地2XLock(dsite2)第69页/共73页14.4.2 并发控制(续)并发控制(续)死锁全局死锁:包括两个以上场地上的死锁检测方法:分布等待图预防方法:对事务按某一标准排序,只允许事务沿这一次序单向等待第70页/共73页第十四章第十四章 分布式数据库分布式数据库14.1 概述概述14.2 分布式数据库系统的体系结构分布式数据库系统的体系结构14.3 查询处理和优化查询处理和优化14.4 分布事务管理分布事务管理14.5 小结小结第71页/共73页14.5 小结小结分布式数据库系统基本概念以集中式数据库系统技术为基础丰富了集中式数据库的概念和技术内容主要问题查询优化事务管理第72页/共73页An Introduction to Database System感谢您的观看。第73页/共73页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁