按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,#,主要内容,分布式数据库系统简介,分布式数据库系统的结构,数据分布,分布式查询处理和优化,分布式事务管理,分布式并发控制,分布式数据库的应用与发展,主要内容分布式数据库系统简介,1,分布式数据库系统简介,分布式数据库系统定义,分布式数据库系统(,distributed database system,DDBS,),分布式数据库系统特点,分布式数据库系统产生与发展,分布式数据库系统的分类,分布式数据库系统简介分布式数据库系统定义,2,分布式数据库系统定义,分布式数据库系统是逻辑上属于同一系统,物理上分布在用计算机网络连接的多个场地(结点)上的数据集合,且每个场地具有独立处理和自治能力,至少能参加一个全局应用,并由分布式数据库管理系统统一管理。,在分布式数据库中,每一个拥有集中式数据库的计算机系统称为一个结点(,node,)或场地(,site,),图,8-1,一个分布式数据库系统,分布式数据库系统定义 分布式数据库系统是逻辑上属于同一系统,,3,不同于多处理机系统,数据在物理上的分布性,集中式数据库系统虽然有网络存在,但数据库只驻留在一个场地上,逻辑的统一性,各场地上的数据相互间由约束规则限定,在逻辑上相关。每个场地都可以执行全局应用,数据在每个场地具有独立处理能力,多处理机系统中,应用都客户机处理,分布式数据库不仅要求数据的物理分布,而且要求这种分布是面向处理,面向应用的,数据由,DDBS,统一管理,图,8-2,一个多处理机系统,不同于多处理机系统数据在物理上的分布性图8-2 一个多处理,4,分布式数据库系统特点,数据独立性,数据的逻辑独立性和物理独立性,数据的分布独立性即分布透明性,引入了新的模式和模式间的映像得到,集中和自治相结合的控制机制,局部共享:允许用户使用本地的局部数据库,其中只存储局部场地各用户的共享数据。对应局部应用,局部用户,全局共享:各场地或结点的局部数据库在逻辑上集成为一个整体,所有用户共享。对应全局应用,全局用户,可控冗余,存储代价和查询代价(传输代价),事务管理的分布性,子事务(局部事务):保证集中式数据库的,ACID,,还应保证全局一致性、全局并发事务的可串行性和系统的全局可恢复性,存取效率,全局查询执行计划分解成多个子查询计划,根据全局优化策略产生,子查询在各场地上分布执行。,全局优化和局部优化,分布式数据库系统特点数据独立性,5,分布式数据库系统产生与发展,产生的背景,计算机功能增强而成本下降,利于分散处理,计算机网络技术的发展和应用,使数据通信和资源共享得到解决,数据库应用技术的提高加速了应用水平的提高,不满足对固定场地的数据访问,由于社会组织和经济原因,原本分散的系统需要整合成统一体,如银行系统,现存数据库互联需求,特别是不同数据库系统间,人们对数据的可靠性和可用性要求越来越高,集中存放不利于远程用户和保护,发展中选驱系统,CCA,(,computer corporation of America,):美国国防部研制的,SDD-1,系统,半连接、时间戳、分布式目录结构、可靠性,C-POREL,:中国科学院数学研究所、上海科学技术大学、华东师范大学合作,WDDBS,和,WOODDBS,:武汉大学,DMU/FO,:东北大学,发展历程,20,世纪,70,年代:提出分布式数据库系统概念,20,世纪,80,年代:我国对分布式数据库系统的研究起步,20,世纪,90,年代:,DDBS,已进入商品化应用阶段,当前:分布式数据库技术已经成熟,并得到广泛应用,分布式数据库系统产生与发展产生的背景,6,分布式数据库系统的分类,按局部数据库管理的数据模型分类,同构型(,homogeneous,),DDBS:,各场地数据模型为同一类型,同构同质型,DDBS,:使用相同的,DBMS,同构异质型,DDBS,:使用不同的,DBMS,异构型(,heterogeneous,),DDBS,:各场地的数据模型不同。处理复杂,按功能分类(,R.Peele,和,E.Manning,提出),综合型体系结构:自顶向下,先有完整,DDBS,,再按功能分布,联合型体系结构:在原有的,DBMS,上建立分布式应用,按,DDBS,又可分为同构型和异构型,按层次分类,单层,SL,和多层,ML,按分布式数据库控制系统的类型分类,集中型,DDBS,:全局控制信息位于一个中心场地。有利于一致性,容易导致瓶颈,分散型,DDBS,:每个场地都包含全局控制信息的一个副本。一致性复杂,可用性好,集中与分散共用结合型:分两组,一组包含全局控制信息副本,称主场地;另一组不包含全局控制信息副本,称辅场地,分布式数据库系统的分类按局部数据库管理的数据模型分类,7,分布式数据库系统的结构,分布式数据库系统模式结构,分布式数据库管理系统,分布式数据库系统的体系结构,分布式数据库系统的结构 分布式数据库系统模式结构,8,分布式数据库系统模式结构,图,8-3,分布式数据库的模式结构,分布式数据库系统模式结构图8-3 分布式数据库的模式结构,9,分布式数据库管理系统,主要功能,提供全局和局部数据模型,提供全局和局部数据描述语言,提供全局和局部数据操作语言,目录(数据字典)管理,分布式查询,分布式事务管理,并发事务控制,支持数据完整性,支持数据的恢复,通信管理,主要成份,全局数据库管理系统(,GDBMS,)、局部数据库管理系统(,LDBMS,)、通信管理程序(,CM,),全局数据库管理系统的五种功能,起到用户与局部数据库管理系统、用户与通信管理系统之间的接口作用,负责定位与查找用户请求的数据,全局数据库管理系统的策略包括对请求的处理对策,面向全局的恢复能力,负责全局数据与局部数据之间的转换,分布式数据库管理系统主要功能,10,分布式数据库系统的体系结构,多台计算机设备,由网络连接,计算机网络设备,通信软件,分布式数据库管理系统,包括,GDBMS,、,LDBMS,、,CM,分布式数据库(,DDB,),包括全局数据库(,GDB,)和局部数据库(,LDB,),分布式数据库管理员分为两级,全局数据库管理员(,GDBA,),局部数据库管理员(,LDBA,),分布式数据库系统软件文档,分布式数据库系统的体系结构多台计算机设备,由网络连接,11,数据分布,数据分片的原则和分片方法,完整性:不允许出现一个数据项属于全局关系,但不属于任何分片的情形,重构性:所有片段必须能够重构(逆操作)成全局关系,不相交原则:全局关系划分后得到的各数据片段互相不重叠,数据分配的原则和方法,分布透明性,数据分布 数据分片的原则和分片方法,12,数据分片的分片方法,水平分片:按性别(,XB,)划分,垂直分片:按人事划分(籍贯、政治面貌),混合分片:按人事划分后再按性别划分,诱导分片:选课情况按性别划分,图,8-4,水平分片范例,图,8-5,垂直分片示例,图,8-6,混合分片示例,图,8-7,诱导分片示例,数据分片的分片方法水平分片:按性别(XB)划分 图8-4,13,数据分配的原则和方法,每个数据片段必定要分配到指定的场地,称为数据分配,常用的数据分配策略,集中式分配:同在一个场地,分割式分配:所有数据只有一份,分别放置在不同场地,全复制式分配:在每个场地重复,混合式分配:共享片段重复,高度私用单一场地,数据分配的一般准则,处理局部性:减少远程访问次数,数据的可用性和可靠性,工作负载分布的均匀性:各场地负载均匀,提高并行处理能力,数据分配的方法,非冗余分配。对每一种非冗余分配方案进行计算,选择收益最好的方案,冗余分配,选择所有收益场地法:在全部场地内选择一组场地,当片段的一个副本分配在这一组场地时,其收益高于所花费的代价,则该副本就放置在这一组场地,添加副本法:先用,“,最佳,”,法决定非冗余分配方案,然后增加副本,使其仍能收益,直到无收益为止,数据分配的原则和方法每个数据片段必定要分配到指定的场地,称为,14,分布透明性,Scanf(%S,Tno);,EXEC SQL SELECT Tname,Sex,Sdept INTO:Tname,:Sex,:Sdept,FROM Student,WHERE Tno=:Tno,Printf(%s,%s,%s,Tname,Sex,Sdept);,Scanf(%S,Tno);,EXEC SQL SELECT Tname,Sex,Sdept INTO:Tname,:Sex,:Sdept,FROM TA,WHERE Tno=:Tno,If (!FOUND),EXEC SQL SELECT Tname,Sex,Sdept INTO:Tname,:Sex,:Sdept,FROM TB,WHERE Tno=:Tno,Printf(%s,%s,%s,Tname,Sex,Sdept);,Scanf(%S,Tno);,EXEC SQL SELECT Tname,Sex,Sdept INTO:Tname,:Sex,:Sdept,FROM TA AT Site1,WHERE Tno=:Tno,If (!FOUND),EXEC SQL SELECT Tname,Sex,Sdept INTO:Tname,:Sex,:Sdept,FROM TB AT Site2,WHERE Tno=:Tno,Printf(%s,%s,%s,Tname,Sex,Sdept);,第一级透明,分片透明性(全透明),分片透明提供的用户视图是逻辑数据库。用户只需要对全局关系操作。,提供这一透明级的,DDBS,必须具备完整的内模式和外模式系统以及极为复杂的访问策略选择机制。,最理想的透明级,是分布式数据库的重要设计目标之一。,第二级透明,位置透明性(次透明),位置透明比片段透明低一级,是,DDBS,提供的用户视图是片段,应用程序对分布式数据库的访问通过对片段进行,用户需要了解分片情况,无须关心片段的的分配及具体的存放位置,第三级透明,局部映射透明性,又称本地映射透明性,为用户提供的视图是片段的具体分配,需要了解分片和分配情况,第四级透明,非透明,涉及数据模型转换,如操作语言转换,分布透明性 Scanf(%S,Tno);第一级透明分,15,分布式查询处理和优化,分布式查询处理的分类与层次结构,查询分解和数据本地化,分布式查询优化,分布式查询处理和优化分布式查询处理的分类与层次结构,16,分布式查询处理的分类与层次结构,查询分解:将查询问题转换成全局关系代数表达式或,SQL,语句,数据本地化:将全局关系上的查询具体化到合适的片段的查询,全局优化:找出分片查询的最佳操作次序,如连接操作的优化。需要各场地的信息,局部优化:由拥有与查询有关的片段的各场地执行,所需信息取自局部模式,如图,8-8,图,8-8,分布式查询处理的层次模式,分布式查询处理的分类与层次结构 查询分解:将查询问题转换成全,17,查询分解和数据本地化,查询选修了,1,号课程的男同学的学号和姓名,图,8-9,语法树 图,8-10,片段查询规范表达式的查询树,查询分解和数据本地化 查询选修了1号课程的男同学的学号和姓名,18,查询的等价转换,从全局查询到片段查询的变换,分片关系的简化,图,8-11,例,8-6,查询树 图,8-12,例,8-7,查询树,图,8-13,进一步简化后的查询树,查询的等价转换 图8-11 例8-6查询树,19,分布式事务管理,分布式事务的基本特征和管理目标,分布式事务的定义,分布式事务特性,执行特性,操作特性,控制报文,分布式事务的结构,分布式事务的一般结构,分布式数据库中进程的协作,分布式事务管理目标,分布式事务的恢复技术,2PC,:两段锁提交协议,第一阶段为预提交阶段,由协调者进程向各场地发出了事务,当各参与场地子事务完成后,向协调者进程发出预提交命令,同时在日志文件中记录。协调者进程在收到所有预提交命令后,提交全局事务,否则不管回答,abort,或超时,全局事务夭折,第二阶段为执行阶段,协调者在日志中记录决定后,向各子事务发出决定(提交或夭折),所有参与者根据