第十四章分布式数据库系统.资料

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

AnIntroductiontoDatabaseSystem数据库系统概论AnIntroductiontoDatabaseSystem第十四章分布式数据库AnIntroductiontoDatabaseSystem第十四章分布式数据库14.1概述14.2分布式数据库系统的体系结构14.3查询处理和优化14.4分布事务管理14.5小结AnIntroductiontoDatabaseSystem14.1概述14.1.1分布式数据库系统14.1.2分布式数据库系统的特点AnIntroductiontoDatabaseSystem14.1.1分布式数据库系统什么是分布式数据库?分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同结点(亦称场地)上,逻辑上是属于同一个系统。分布性逻辑整体性AnIntroductiontoDatabaseSystem分布式数据库系统(续)图14.1一个分布式数据库系统[例1]如图14.1所示AnIntroductiontoDatabaseSystem分布式数据库系统(续)区分一个系统是若干集中式数据库的简单连网还是分布式数据库系统的技术要点在于:系统是否支持全局应用一个典型的例子是银行转账从一个分行的账户(设在DB1数据库)中转移若干金额到另一个分行的账户(设在DB3数据库)中去要同时更新两个结点上的数据库AnIntroductiontoDatabaseSystem分布式数据库系统(续)图14.2一个多处理机系统(SN并行结构)[例2]如图14.2所示AnIntroductiontoDatabaseSystem分布式数据库系统(续)多处理机系统(SN并行结构)没有局部应用分布式数据库不仅要求数据的物理分布,而且要求这种分布是面向处理、面向应用的AnIntroductiontoDatabaseSystem分布式数据库系统(续)分布式数据库:分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个结点也能通过网络通信子系统执行全局应用。场地自治性自治场地之间的协作性AnIntroductiontoDatabaseSystem14.1概述14.1.1分布式数据库系统14.1.2分布式数据库系统的特点AnIntroductiontoDatabaseSystem分布式数据库系统的特点(续)一、数据独立性逻辑独立性物理独立性数据分布独立性(分布透明性)用户的应用程序书写起来就如同数据没有分布一样AnIntroductiontoDatabaseSystem分布式数据库系统的特点(续)二、集中与自治相结合的控制结构数据共享:(1)局部共享(2)全局共享控制机制:集中自治AnIntroductiontoDatabaseSystem分布式数据库系统的特点(续)三、适当增加数据冗余度提高系统的可靠性、可用性提高系统性能四、全局的一致性、可串行性和可恢复性局部数据库要保证ACID全局数据库也要保证ACIDAnIntroductiontoDatabaseSystem第十四章分布式数据库14.1概述14.2分布式数据库系统的体系结构14.3查询处理和优化14.4分布事务管理14.5小结AnIntroductiontoDatabaseSystem14.2分布式数据库系统的体系结构14.2.1分布式数据库系统的模式结构14.2.2数据分片14.2.3分布透明性14.2.4分布式数据库管理系统AnIntroductiontoDatabaseSystem14.2.1分布式数据库系统的模式结构图14.3分布式数据库系统的模式结构AnIntroductiontoDatabaseSystem分布式数据库系统的模式结构(续)分布式数据库系统增加的模式级别(1)全局外模式(GlobalExternalSchema)(2)全局概念模式(GlobalConceptualSchema)(3)分片模式(FragmentationSchema)片段(Fragment)定义片段以及全局关系到片段的映象(4)分布模式(AllocationSchema)定义片段的存放地点AnIntroductiontoDatabaseSystem14.2分布式数据库系统的体系结构14.2.1分布式数据库系统的模式结构14.2.2数据分片14.2.3分布透明性14.2.4分布式数据库管理系统AnIntroductiontoDatabaseSystem14.2.2数据分片数据分片有利于按照用户的需求较好地组织数据的分布有利于控制数据的冗余度数据分片的方式水平分片垂直分片混合分片导出分片AnIntroductiontoDatabaseSystem数据分片(续)水平分片按一定的条件将关系按行(水平方向)分为若干不相交的子集,每个子集为关系的一个片段。垂直分片指将关系按列(垂直方向)分为若干子集。每个片段通常都包含关系的码AnIntroductiontoDatabaseSystem数据分片(续)导出分片是指导出水平分片,即水平分片的条件不是本身属性的条件而是其他关系的属性的条件。AnIntroductiontoDatabaseSystem数据分片(续)[例]学生选课关系SC(Sno,Cno,Grade),按照学生年龄>18岁和≤18岁分片(学生年龄是学生关系Student的属性)年龄>18岁的学生选课片段由下面的查询结果组成:SELECTSno,Cno,GradeFROMS,SCWHERES.Sno=SC.SnoANDS.Sage>18;年龄≤18岁的片段SC_B由下面的查询结果组成:SELECTSno,Cno,GradeFROMS,SCWHERES.Sno=SC.SnoANDS.Sage≤18;AnIntroductiontoDatabaseSystem数据分片(续)混合分片是指按上述三种分片方式得到的片段继续按另一种方式分片。例如,先按垂直分片再按水平分片方式继续分片。例如,先按水平分片得到的某一片段再进行垂直分片。AnIntroductiontoDatabaseSystem数据分片(续)分片应满足的条件完全性不相交性可重构性垂直分片:连接水平分片:并操作AnIntroductiontoDatabaseSystem14.2分布式数据库系统的体系结构14.2.1分布式数据库系统的模式结构14.2.2数据分片14.2.3分布透明性14.2.4分布式数据库管理系统AnIntroductiontoDatabaseSystem14.2.3分布透明性分片透明性–最高层次用户或应用程序只对全局关系进行操作而不必考虑关系的分片位置透明–下一层次用户或应用程序不必了解片段的存储场地,当存储场地改变了,由于分片模式到分布模式的映像(映像3),应用程序不必改变局部数据模型透明性–较低层次是指用户或用户程序不必了解局部场地上使用的是哪种数据模型,模型的转换以及数据库语言的转换均由映像4完成AnIntroductiontoDatabaseSystem分布透明性(续)[例1]设在分布式数据库系统中有全局关系Student(Sno,Sname,Sdept,Sage)Student关系被划分为两个片段S_A和S_B。S_A代表理学院的学生,S_B代表文学院的学生。S_A存储在场地1(Site1),S_B冗余地存储在场地2和场地3上。AnIntroductiontoDatabaseSystem分布透明性(续)要求从终端读入一个学号,查找该学号的学生姓名、年龄,并把它们显示在屏幕上。设应用程序是用嵌入SQL语句的C语言写的。现给出查询部分的算法思想。AnIntroductiontoDatabaseSystem分布透明性(续)情况1系统具有分片透明性Scanf(“%s”,Snumber);EXECSQLSELECTSname,SageINTO:NAME,:AGEFROMStudentWHERESno=:Snumber;Printf(%s,%d,NAME,AGE);程序变量AnIntroductiontoDatabaseSystem分布透明性(续)情况2系统具有位置透明性,但不具有分片透明性Scanf(%s“,Snumber);EXECSQLSELECTSname,SageINTO:NAME,:AGEFROMS_AWHERESno=:Snumber;If(!FOUND){EXECSQLSELECTSname,SageINTO:NAME,:AGEFROMS_BWHERESno=:Snumber;}Printf(%s,%d“,NAME,AGE);AnIntroductiontoDatabaseSystem分布透明性(续)情况3系统只具有局部数据模型透明性,不具有位置透明性Scanf(%s“,Snumber);EXECSQLSELECTSname,SageINTO:NAME,:AGEFROMS_AATSite1WHERESno=:Snumber;If(!FOUND){EXECSQLSELECTSname,SageINTO:NAME,:AGEFROMS_BATSite2WHERESno=:Snumber;}Printf(“%s,%d”,NAME,AGE);AnIntroductiontoDatabaseSystem14.2分布式数据库系统的体系结构14.2.1分布式数据库系统的模式结构14.2.2数据分片14.2.3分布透明性14.2.4分布式数据库管理系统AnIntroductiontoDatabaseSystem14.2.4分布式数据库管理系统分布式数据库管理系统(DistributedDataManagementSystem,D-DBMS)建立、管理和维护分布式数据库的一组软件AnIntroductiontoDatabaseSystem分布式数据库管理系统(续)D-DBMS的结构分布式数据库管理系统的结构AnIntroductiontoDatabaseSystem分布式数据库管理系统(续)D-DBMS由四部分组成:(1)局部数据库管理系统LDBMS(LocalDBMS)(2)全局数据库管理系统GDBMS(GlobalDBMS)(3)全局数据字典(GlobalDataDirectory,GDD)(4)通信管理(CommunicationManagement,CM)

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功