好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据库系统体系结构.ppt

45页
  • 卖家[上传人]:桔****
  • 文档编号:580668165
  • 上传时间:2024-08-29
  • 文档格式:PPT
  • 文档大小:650.81KB
  • / 45 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 数据库系统体系结构数据库系统体系结构n集中式数据库系统集中式数据库系统nC/S数据库系统C/S数据库系统n三层数据库系统三层数据库系统n并行数据库系统并行数据库系统n分布式数据库系统分布式数据库系统 基本定义基本定义n背景背景数据库系统+计算机网络DB1DB1DB1计算机1计算机1计算机1通讯网络北京重庆上海银行系统 基本定义基本定义n基本特性基本特性n分布性:数据存储在不同场地上与集中式数据库不同n逻辑整体性:数据逻辑上是相互联系的一个整体与分散在计算机网络不同站点上的一组没有相互联系的本地数据库区别开来n定义定义n描述定义:D-DBS是一个数据集合,这些数据在逻辑上属于同一个系统,但在物理上分布在计算机网络的不同结点上 基本定义基本定义n精确定义: D-DBS是一个数据集合,这些数据,分布在计算机网络的不同计算机上,网络中每个结点具有独立处理的能力,可以执行局部应用,同时每个结点也能通过网络通讯支持全局应用分布式数据库强调场地自治性(局部应用)以及自治场地之间的协作性(全局应用)在自治的结点之间协同工作” D-DBS的特点的特点n数据独立性数据独立性D-DBS除了集中式DBS的物理独立性及逻辑独立性,还有数据分布的独立性,也称分布透明性,即用户不必关心数据物理位置的分布。

      n集中与自治相结合的控制结构集中与自治相结合的控制结构n集中式DBS中,控制是集中的,统一由DBA维护nD-DBS中,控制是分层的:全局DBA:管理整个数据库本地DBA:管理本地数据库 D-DBS的特点的特点n适当增加数据冗余适当增加数据冗余n集中式DBS中,尽可能减少数据冗余以避免不一致性及节省存储空间nD-DBS中,适当增加冗余,在不同场地存储同一数据的多个副本n提高系统可靠性、可用性:一场地发生故障,可存取另一场地同一副本n提高系统性能:存取距离最近的数据副本,减少通讯代价n全局的一致性、可串行性、可恢复性全局的一致性、可串行性、可恢复性涉及多个结点 D-DBS的优点的优点n经济上和组织上的理由经济上和组织上的理由数据库的使用单位组织上、地理上是分布的n既有数据库互连既有数据库互连历史继承;数据资源共享n系统规模逐步扩展系统规模逐步扩展增加结点,不影响现有系统运行n减少通讯开销减少通讯开销提高应用的本地化n提高系统的可靠性与可用性提高系统的可靠性与可用性多副本机制 D-DBS的的体系结构体系结构G- -外模式外模式G- -外模式外模式G- -概念模式概念模式分片模式分片模式分布模式分布模式L- -概念模式概念模式L- -概念模式概念模式L- -内模式内模式L- -内模式内模式L-DBL-DBG-DBMSG-DBMS D-DBS的体系结构的体系结构nG-外模式外模式全局应用的用户视图。

      nG-概念模式概念模式定义D-DBS中数据的整体逻辑结构,数据如同没有分布一样n分片模式分片模式每一个关系可以分为若干互不相交的部分,每一部分称为一个片段n分布模式分布模式定义片段的存放地点 分布式数据存储分布式数据存储n数据在分布式数据库的存储途径数据在分布式数据库的存储途径n复制系统维护关系的几个完全相同的副本,这些副本存储在不同的结点上n分片关系被划分为几个片段,各个片段存储在不同的结点上n复制+分片关系被划分为几个片段,系统为每个片段维护几个副本 分布式数据存储分布式数据存储n数据复制数据复制n优点n可用性n增加并行度n缺点n一致性维护n结论n有利于只读事务,增加更新事务开销 分布式数据存储分布式数据存储n数据分片数据分片n优点将关系分片,有利于按用户需求组织数据的分布如产品→(内销产品,出口产品)n分片方式n水平分片n垂直分片n导出分片n混合分片 分布式数据存储分布式数据存储n水平分片将关系r按行分为若干子集r1,r2,…,rn,每个子集ri称为一个水平片段一个水平片段可以看成是关系上的一个选择ri =P(i)(r)如C_S=DNO=D08(S)关系的重构可以通过并运算来实现。

      r= r1 ∪r2∪…∪rn 分布式数据存储分布式数据存储n垂直分片将关系r按列分为若干属性子集r1,r2,…,rn,每个子集ri称为一个垂直片段一个垂直片段可以看成是关系上的一个投影ri =∏Ri(r)其中Ri是r的一个属性子集 如P_S = ∏PNO,SAL(P)关系的重构可以通过连接运算来实现r= r1 r2 … rn所有分片都包括每个元组的唯一标识码tuple_id 分布式数据存储分布式数据存储n导出分片导出分片n导出水平分片,分片的条件不是关系本身属性条件,而是其它关系的属性条件n如SC(S#,C#,G)按学生系别分片n混合分片混合分片n关系按某种方式分片后,得到的片段再按另一种方式继续分片n如SC(S#,C#,G)按学生系别分片,再对每个片段按成绩(及格,不及格)分片 分布式数据存储分布式数据存储n分布(网络)透明性分布(网络)透明性n分片透明性用户或应用程序只对全局关系进行操作而不必考虑关系的分片如果分片模式改变了,通过调整全局模式与分片模式之间的映象关系来保持全局模式不变n位置透明性用户或应用程序不必了解片段的存储位置n局部数据模型透明性用户或应用程序不必了解局部场地上使用的是哪种数据模型。

      分布式数据存储分布式数据存储n示示例例::设有全局关系S,它被划分为两个片段S-A(本科生),S-B(研究生),S-B有两个副本SS-AS-BS-AS-BS-BSite-1Site-2Site-3全局关系全局关系片段片段物理存储物理存储 分布式数据存储分布式数据存储写一个查询,输入学号,输出学生姓名⒈⒈系统具有分片透明性系统具有分片透明性scanf (“%s”,S_NO);EXEC SQL select SN into :S_NAME from S where SNO= :S_NO;printf(“%d, %s”,S_NO,S_NAME); 分布式数据存储分布式数据存储⒉⒉系统具有位置透明性,但不具有分片透明性系统具有位置透明性,但不具有分片透明性scanf (“%s”,S_NO);EXEC SQL select SN into :S_NAME from S_A where SNO= :S_NO;if(!FOUND) EXEC SQL select SN into :S_NAME from S_B where SNO= :S_NO;printf(“%d, %s”, S_NO, S_NAME); 分布式数据存储分布式数据存储⒊⒊系统具有局部模型透明性,但不具有位置透明性系统具有局部模型透明性,但不具有位置透明性scanf (“%s”,S_NO);EXEC SQL select SN into :S_NAME from S_A at Site_1 where SNO= :S_NO;if(!FOUND) EXEC SQL select SN into :S_NAME from S_B at Site_2(或Site_3) where SNO= :S_NO;printf(“%d, %s”, S_NO, S_NAME); 分布式数据存储分布式数据存储n数据项的命名数据项的命名n每个数据项(关系、副本、片段)必须有唯一的名字,在分布式数据库系统中必须保证在不同的结点上不会用同一个名字来代表不同的数据项。

      n途径1:名字服务器n所有名字都在名字服务器中注册,每个名字对应一个数据项n缺陷:名字服务器成为名字解析的瓶颈;依赖性大n途径2:将结点标识作为前缀加到该结点数据项的名字前面n保证唯一性,不须中央控制;不能保证网络透明性 分布式数据存储分布式数据存储n途径3:别名n用户使用简单的别名,别名被系统翻译成完整的名字n别名到真实名字的映射形成一张别名表被存储在系统的每一个结点上当用户引用别名时,系统通过查找别名表找到实际的数据项n对照路由表 分布式查询处理分布式查询处理Site-ASite-BS(S#,CITY)104个元组个元组SP(S#,P#)106个元组个元组P(P#,COLOR)105个元组个元组假定每条元组100bit大小n求供应红色零件的、北京的供应商号码select S.S# from S, P, SPwhere S.CITY = ‘北京’ and S.S# = SP.S#and SP.P# = P.P# and P.COLOR = ‘红色’网络网络传输速度传输速度104bps传输延迟传输延迟1s 分布式查询处理分布式查询处理⒈把关系P从B站传送到A站,在A站进行查询传送时间T=1+105 100 /104=103sS, SPP传传P传送时间T=总传输延迟+总数据量/传输速度 分布式查询处理分布式查询处理⒉把关系S,SP从A站传送到B站,在B站进行查询传送时间T=2+(104+106)100/104104sS, SPP传传S,SP 分布式查询处理分布式查询处理⒊在A站连接S与SP,选出城市为北京的元组(假定有105个),然后对其中每个元组的P#,询问B站,看其是否为红色。

      传送时间T=2  105sS, SPP问问答答 分布式查询处理分布式查询处理⒋在B站选出红色零件(假定有10个),然后对每个元组询问A站,看北京的供应商是否供应此零件传送时间T=2  10=20sS, SPP问问答答 分布式查询处理分布式查询处理⒌在A站选出北京的供应商(105个),传送到B站,在B站完成查询传送时间T=1+ 105100/104=103sS, SPP传传 (S) SP 分布式查询处理分布式查询处理⒍在B站选出红色零件(10个),把结果传送到A站,在A站完成查询传送时间T=1+ 10100/104=1.1sS, SPP传传 (P) 分布式查询处理分布式查询处理n半连接运算半连接运算n定义半连接R S=R(R S) = 分布式查询处理分布式查询处理n半连接作用找出R中能够与S中元组相连接的元组来,类似于在连接之前先做选择和投影R S = (R S) SR S = (S R) Rn半连接的非对称性R S  (S R) 分布式查询处理分布式查询处理n半连接在分布式数据库中的应用R与S位于不同场地S1,S2上,其属性组分别为R1,R2,要在S1场地求R和S的连接结果。

      ⒈在S1场地对R做投影,将R缩减为R',R'=R1R2(R)⒉将R' 送往场地S2⒊在S2场地完成S与R'的半连接操作,将S缩减为S',S' = S R'⒋将S'送回场地S1 ⒌在S1场地完成R与S'的连接操作,R S = R S' 分布式查询处理分布式查询处理n通讯代价模型通讯代价模型TC(X)= C0+X*C1其中X为数据传输量C0为两结点初始化一次传输所花费的开销C1为传输率,即单位数据传输所花费的时间n采用半连接的通讯代价:CSJ=2C0+(size(R')*card(R')+size(S)*card(S'))*C1不采用半连接的通讯代价:CJN=C0+size(S)*card(S') *C1当S中参与连接的元组足够少时采用半连接策略是有利的 分布式事务模型分布式事务模型n分布式事务分布式事务n数据的分布导致事务具有了分布性一个全局事务的执行被划分为在许多场地上子事务的执行n示例:银行在两个帐户之间转帐对集中式数据库,单个事务T:A:=A - 100,B:=B+100对于分布式数据库,假定A在S1,S2各有一副本,B在S3,S4各有一副本,用户请求在S5发出,则分布事务T由T1,T2,T3,T4,T5构成:T1, T2: A:=A - 100 T3, T4 :B:=B + 100T5 : 结果返回给用户 分布式事务模型分布式事务模型n事务管理模型事务管理模型TC1TM1TCnTMnn事务管理器TM:管理那些访问存储在一个局部结点中的数据的事务。

      事务可以是局部事务,也可以是全局事务的一部分n事务协调器TC:协调该结点上发起的各事务(局部的或全局的)的执行 分布式事务模型分布式事务模型n事务管理器功能n维护一个用于恢复的日志n参与适当的并发控制模式,以协调在该结点上执行的事务的并发执行n事务协调器功能n启动事务的执行n将事务分解为若干子事务,并将子事务分派到适当的结点上去执行n协调事务的终止,保证事务在所有的结点上都提交或都中止n一个全局事务的各个子事务要么全部执行,要么全部中止 分布式事务模型分布式事务模型n系统故障系统故障n分布式系统故障n结点故障,消息丢失,通信链路故障,网络分割n网络拓扑n性能指标:安装开销,通讯开销,可用性ABCDABCDABCDABCDABCDE 分布式事务模型分布式事务模型n事务两阶段提交协议事务两阶段提交协议假定事务T在结点Si发起,n阶段1:n事务协调器TCi向日志中加入一条记录,并强制该日志写入稳存中nTCi将消息发送到执行T的所有结点上n当某结点接受到上述消息时,该结点的TM回答确定是否提交T中属于它的那部分,若否,则TM将记录加入到日志中,并向TCi发送消息

      若是,则TM将记录加入到日志中,并将日志强制写入稳存中,并向TCi发送消息 分布式事务模型分布式事务模型n阶段2:n当TCi收到所有结点对消息的回答时,或等待响应的时间已过,TCi决定事务T是提交还是中止n如果TCi 收到的都是消息,事务就可以提交,否则事务必须被中止根据结果的不同向日志中写入 或者,并强制将日志写入稳存中n 向所有参与的结点发送消息n结点收到此消息后,就把该消息记入日志中向TCi发送消息; TCi收到该消息后,将记录加入到日志中) 并发控制并发控制n单一锁管理器模式单一锁管理器模式n系统维护位于单一节点(Si)上的单一锁管理器n如果有事务欲封锁某一数据项,它向Si发送锁请求, Si决定是否可以立即满足该请求n是,向请求节点发送消息n否,推迟发送消息直至锁能够被授予n读数据可以从存在数据副本的任一个节点读取,写数据时所有包含该数据副本的节点都必须参与到写操作中n优点:实现简单,死锁处理简单。

      n缺点:锁管理器节点可能成为系统瓶颈;对锁管理器节点依赖大,系统脆弱性大 并发控制并发控制n多数协议多数协议n每个节点维护自己的局部锁管理器n当一节点欲封锁另一节点Si上的且未被复制的数据库项Q时,它向Si发送一条锁请求消息;如果Q被施加了不相容锁,则请求被推迟直至被满足,然后Si向请求节点发送消息n如果Q在n个不同的节点上有副本,则锁请求消息被发送到这n个节点,必须获得多数副本上的封锁后,事务才能开始对Q的操作n优点:分散控制n缺点:消息传递太多,死锁处理复杂 并发控制并发控制n主本协议主本协议n选择一个节点上的副本作为数据主副本,此节点称为该数据项的主节点n当有事务请求对数据项Q的封锁时,它向Q的主节点发出请求n优点:简单n缺点:对主节点依赖大,如果主节点不可用,则数据项的其他副本也不可用 并发控制并发控制n有偏协议有偏协议n局部锁管理器类似与多数协议但对共享锁和排它锁的处理不同n共享锁:事务需要封锁数据项Q时,只需向包含Q的副本的一个节点上的锁管理器发送请求n排它锁:事务需要封锁数据项Q时,需要向包含Q的副本的所有节点上的锁管理器发送请求n优点:读操作的封锁开销小。

      点击阅读更多内容
      相关文档
      【全国硕士研究生入学统一考试政治】2020年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2015年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2010年考研政治真题.docx 【全国硕士研究生入学统一考试政治】1996年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2001年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2016年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2000年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】1997年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2007年考研政治真题.doc 【全国硕士研究生入学统一考试政治】1997年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2004年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2003年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2019年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2009年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2001年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2021年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2014年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2018年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2008年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2011年考研政治真题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.