资源预览内容
第1页 / 共73页
第2页 / 共73页
第3页 / 共73页
第4页 / 共73页
第5页 / 共73页
第6页 / 共73页
第7页 / 共73页
第8页 / 共73页
第9页 / 共73页
第10页 / 共73页
亲,该文档总共73页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
中国人民大学信息学院 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.1.2 分布式数据库系统的特点An Introduction to Database System14.1.1 分布式数据库系统什么是分布式数据库?分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同结点(亦称场地)上,逻辑上是属于同一个系统。 分布性逻辑整体性An Introduction to Database System分布式数据库系统(续)An Introduction to Database System图14.1 一个分布式数据库系统 v例1如图14.1所示分布式数据库系统(续)区分一个系统是若干集中式数据库的简单连网还是分布式数据库系统的技术要点在于:系统是否支持全局应用 一个典型的例子是银行转账从一个分行的账户(设在DB1数据库)中转移若干金额到另一个分行的账户(设在DB3数据库)中去要同时更新两个结点上的数据库An Introduction to Database System分布式数据库系统(续)An Introduction to Database System图14.2 一个多处理机系统(SN并行结构)v例2如图14.2所示分布式数据库系统(续)多处理机系统(SN并行结构)没有局部应用分布式数据库不仅要求数据的物理分布,而且要求这种分布是面向处理、面向应用的An Introduction to Database System分布式数据库系统(续)分布式数据库:分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个结点也能通过网络通信子系统执行全局应用。场地自治性自治场地之间的协作性An Introduction to Database System14.1 概述14.1.1 分布式数据库系统14.1.2 分布式数据库系统的特点An Introduction to Database System分布式数据库系统的特点(续)一、数据独立性逻辑独立性物理独立性数据分布独立性(分布透明性)用户的应用程序书写起来就如同数据没有分布一样An Introduction to Database System分布式数据库系统的特点(续)二、集中与自治相结合的控制结构数据共享:(1) 局部共享(2)全局共享控制机制:集中自治An Introduction to Database System分布式数据库系统的特点(续)三、适当增加数据冗余度提高系统的可靠性、可用性提高系统性能四、全局的一致性、可串行性和可恢复性局部数据库要保证ACID全局数据库也要保证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.2.2 数据分片14.2.3 分布透明性14.2.4 分布式数据库管理系统An Introduction to Database System14.2.1 分布式数据库系统的模式 结构An Introduction to Database System 图14.3 分布式数据库系统的模式结构分布式数据库系统的模式结构(续)分布式数据库系统增加的模式级别(1) 全局外模式(Global External Schema)(2) 全局概念模式(Global Conceptual Schema)(3) 分片模式(Fragmentation Schema)片段(Fragment)定义片段以及全局关系到片段的映象(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 数据分片数据分片有利于按照用户的需求较好地组织数据的分布有利于控制数据的冗余度数据分片的方式水平分片垂直分片混合分片导出分片An Introduction to Database System数据分片(续)水平分片按一定的条件将关系按行(水平方向)分为若干不相交的子集,每个子集为关系的一个片段。垂直分片指将关系按列(垂直方向)分为若干子集。每个片段通常都包含关系的码 An Introduction to Database System数据分片(续)导出分片是指导出水平分片,即水平分片的条件不是本身属性的条件而是其他关系的属性的条件。An Introduction to Database System数据分片(续)例学生选课关系SC(Sno,Cno,Grade),按照学生年龄18岁和 18岁分片(学生年龄是学生关系Student的属性) 年龄18岁的学生选课片段由下面的查询结果组成:SELECT Sno,Cno,GradeFROM S,SCWHERE S.SnoSC.Sno AND S.Sage18;年龄18岁的片段SC_B由下面的查询结果组成:SELECT Sno,Cno,GradeFROM S,SCWHERE S.SnoSC.Sno AND S.Sage18;An Introduction to Database System数据分片(续)混合分片是指按上述三种分片方式得到的片段继续按另一种方式分片。An Introduction to Database Systemv 例如,先按垂直分片再按水平分片方式继续分片。 v 例如,先按水平分片得到的某一片段再进行垂直分片。数据分片(续)分片应满足的条件完全性不相交性可重构性垂直分片:连接水平分片:并操作An Introduction to Database System14.2 分布式数据库系统的体系结 构14.2.1 分布式数据库系统的模式结构14.2.2 数据分片14.2.3 分布透明性14.2.4 分布式数据库管理系统An Introduction to Database System14.2.3 分布透明性分片透明性 最高层次用户或应用程序只对全局关系进行操作而不必考虑关系的分 片位置透明 下一层次用户或应用程序不必了解片段的存储场地,当存储场地改变 了,由于分片模式到分布模式的映像(映像3),应用程序不必 改变局部数据模型透明性 较低层次是指用户或用户程序不必了解局部场地上使用的是哪种数据 模型,模型的转换以及数据库语言的转换均由映像4完成An Introduction to Database System分布透明性(续)例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分布透明性(续)要求从终端读入一个学号,查找该学号的学生姓名、年龄,并把 它们显示在屏幕上。设应用程序是用嵌入SQL语句的C语言写的。现给出查询部分 的算法思想。An Introduction to Database System分布透明性(续)情况1 系统具有分片透明性Scanf(“% s”,Snumber);EXEC SQL SELECT Sname,Sage INTO:NAME,:AGEFROM StudentWHERE Sno :Snumber;Printf(“% s,% d“,NAME,AGE);An Introduction to Database System程序变量分布透明性(续)情况2 系统具有位置透明性,但不具有分片透明性Scanf(“% s“,Snumber);EXEC SQL SELECT Sname,Sage INTO:NAME,:AGEFROM S_AWHERE Sno :Snumber;If(! FOUND)EXEC SQL SELECT Sname,Sage INTO :NAME,:AGEFROM S_BWHERE Sno :Snumber;Printf(“% s,% d“,NAME,AGE);An Introduction to Database System分布透明性(续)情况3 系统只具有局部数据模型透明性,不具有位置透明性Scanf(“% s“,Snumber);EXEC SQL SELECT Sname, Sage INTO : NAME,:AGEFROM S_A AT Site1WHERE Sno :Snumber;If(! FOUND)EXEC SQL SELECT Sname, Sage INTO : NAME,:AGEFROM S_B AT Site2WHERE 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 Introduction to Database System14.2.4 分布式数据库管理系统分布式数据库管理系统(Distributed Data Management System,D-DBMS)建立、管理和维护分布式数据库的一组软件 An Introduction to Database System分布式数据库管理系统(续)D-DBMS的结构 An Introduction to Database System分布式数据库管理系统的结构 分布式数据库管理系统(续)D-DBMS由四部分组成:(1)局部数据库管理系统LDBMS(Local DBMS)(2)全局数据库管理系统GDBMS(Global DBMS)(3) 全局数据字典(Global Data Directory,GDD)(4) 通信管理(Communication Management,CM)An Introduction to Database System分布式数据库管理系统(续)一、按全局控制方式分类1.全局控制集中的D-DBMS 全局控制成分GDBMS集中在某一结点上,全局数据字典只有一个,也存放在该结点上。2.全局控制分散的D-DBMS 全局控制成分GDBMS分散在网络的每一个结点上,全局数据字典也在每个结点上存放一份。3.全局控制部分分散的D-DBMS根据应用的需要将GDBMS和全局数据字典分散在
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号