数据库系统体系结构.ppt_第1页
数据库系统体系结构.ppt_第2页
数据库系统体系结构.ppt_第3页
数据库系统体系结构.ppt_第4页
数据库系统体系结构.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Software is just a feature of hardware,Software is the future,数据库系统体系结构,集中式数据库系统 数据库系统 三层数据库系统 并行数据库系统 分布式数据库系统,分布式数据库系统,基本定义,背景 数据库系统+计算机网络,DB1,DB1,DB1,计算机1,计算机1,计算机1,通讯网络,北京,重庆,上海,银行系统,基本定义,基本特性 分布性:数据存储在不同场地上。与集中式数据库不同。 逻辑整体性:数据逻辑上是相互联系的一个整体。与分散在计算机网络不同站点上的一组没有相互联系的本地数据库区别开来。 定义 描述定义:D-DBS是一个数据集合,这些数据在逻辑上属于同一个系统,但在物理上分布在计算机网络的不同结点上。,基本定义,精确定义: D-DBS是一个数据集合,这些数据,分布在计算机网络的不同计算机上,网络中每个结点具有独立处理的能力,可以执行局部应用,同时每个结点也能通过网络通讯支持全局应用。 分布式数据库强调场地自治性(局部应用)以及自治场地之间的协作性(全局应用)。 “在自治的结点之间协同工作”,D-DBS的特点,数据独立性 D-DBS除了集中式DBS的物理独立性及逻辑独立性,还有数据分布的独立性,也称分布透明性,即用户不必关心数据物理位置的分布。 集中与自治相结合的控制结构 集中式DBS中,控制是集中的,统一由DBA维护。 D-DBS中,控制是分层的: 全局DBA:管理整个数据库 本地DBA:管理本地数据库,D-DBS的特点,适当增加数据冗余 集中式DBS中,尽可能减少数据冗余以避免不一致性及节省存储空间。 D-DBS中,适当增加冗余,在不同场地存储同一数据的多个副本。 提高系统可靠性、可用性:一场地发生故障,可存取另一场地同一副本。 提高系统性能:存取距离最近的数据副本,减少通讯代价。 全局的一致性、可串行性、可恢复性。 涉及多个结点。,D-DBS的优点,经济上和组织上的理由 数据库的使用单位组织上、地理上是分布的 既有数据库互连 历史继承;数据资源共享 系统规模逐步扩展 增加结点,不影响现有系统运行 减少通讯开销 提高应用的本地化 提高系统的可靠性与可用性 多副本机制,D-DBS的体系结构,G-外模式,G-外模式,G-概念模式,分片模式,分布模式,L-概念模式,L-概念模式,L-内模式,L-内模式,L-DB,L-DB,G-DBMS,G-DBMS,D-DBS的体系结构,G-外模式 全局应用的用户视图。 G-概念模式 定义D-DBS中数据的整体逻辑结构,数据如同没有分布一样。 分片模式 每一个关系可以分为若干互不相交的部分,每一部分称为一个片段。 分布模式 定义片段的存放地点。,分布式数据存储,数据在分布式数据库的存储途径 复制 系统维护关系的几个完全相同的副本,这些副本存储在不同的结点上。 分片 关系被划分为几个片段,各个片段存储在不同的结点上。 复制+分片 关系被划分为几个片段,系统为每个片段维护几个副本。,分布式数据存储,数据复制 优点 可用性 增加并行度 缺点 一致性维护 结论 有利于只读事务,增加更新事务开销。,分布式数据存储,数据分片 优点 将关系分片,有利于按用户需求组织数据的分布。 如产品(内销产品,出口产品)。 分片方式 水平分片 垂直分片 导出分片 混合分片,分布式数据存储,水平分片 将关系r按行分为若干子集r1,r2,rn,每个子集ri称为一个水平片段。 一个水平片段可以看成是关系上的一个选择。 ri =P(i)(r) 如C_S=DNO=D08(S) 关系的重构可以通过并运算来实现。 r= r1 r2rn,分布式数据存储,垂直分片 将关系r按列分为若干属性子集r1,r2,rn,每个子集ri称为一个垂直片段。 一个垂直片段可以看成是关系上的一个投影。 ri =Ri(r) 其中Ri是r的一个属性子集。 如P_S = PNO,SAL(P) 关系的重构可以通过连接运算来实现。 r= r1 r2 rn 所有分片都包括每个元组的唯一标识码tuple_id。,分布式数据存储,导出分片 导出水平分片,分片的条件不是关系本身属性条件,而是其它关系的属性条件。 如SC(S#,C#,G)按学生系别分片。 混合分片 关系按某种方式分片后,得到的片段再按另一种方式继续分片。 如SC(S#,C#,G)按学生系别分片,再对每个片段按成绩(及格,不及格)分片。,分布式数据存储,分布(网络)透明性 分片透明性 用户或应用程序只对全局关系进行操作而不必考虑关系的分片。如果分片模式改变了,通过调整全局模式与分片模式之间的映象关系来保持全局模式不变。 位置透明性 用户或应用程序不必了解片段的存储位置。 局部数据模型透明性 用户或应用程序不必了解局部场地上使用的是哪种数据模型。,分布式数据存储,示例:设有全局关系S,它被划分为两个片段S-A(本科生),S-B(研究生),S-B有两个副本。,S,S-A,S-B,S-A,S-B,S-B,Site-1,Site-2,Site-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);,分布式数据存储,数据项的命名 每个数据项(关系、副本、片段)必须有唯一的名字,在分布式数据库系统中必须保证在不同的结点上不会用同一个名字来代表不同的数据项。 途径1:名字服务器 所有名字都在名字服务器中注册,每个名字对应一个数据项。 缺陷:名字服务器成为名字解析的瓶颈;依赖性大。 途径2:将结点标识作为前缀加到该结点数据项的名字前面 保证唯一性,不须中央控制;不能保证网络透明性。,分布式数据存储,途径3:别名 用户使用简单的别名,别名被系统翻译成完整的名字。 别名到真实名字的映射形成一张别名表被存储在系统的每一个结点上。当用户引用别名时,系统通过查找别名表找到实际的数据项。 对照路由表。,分布式查询处理,Site-A,Site-B,S(S#,CITY) 104个元组SP(S#,P#) 106个元组,P(P#,COLOR) 105个元组,假定每条元组100bit大小 求供应红色零件的、北京的供应商号码 select S.S# from S, P, SP where 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=103s,S, SP,P,传P,传送时间T=总传输延迟+总数据量/传输速度,分布式查询处理,把关系S,SP从A站传送到B站,在B站进行查询 传送时间T=2+(104+106)100/104104s,S, SP,P,传S,SP,分布式查询处理,在A站连接S与SP,选出城市为北京的元组(假定有105个),然后对其中每个元组的P#,询问B站,看其是否为红色。 传送时间T=2 105s,S, SP,P,问,答,分布式查询处理,在B站选出红色零件(假定有10个),然后对每个元组询问A站,看北京的供应商是否供应此零件。 传送时间T=2 10=20s,S, SP,P,问,答,分布式查询处理,在A站选出北京的供应商(105个),传送到B站,在B站完成查询。 传送时间T=1+ 105100/104=103s,S, SP,P,传(S) SP,分布式查询处理,在B站选出红色零件(10个),把结果传送到A站,在A站完成查询。 传送时间T=1+ 10100/104=1.1s,S, SP,P,传(P),分布式查询处理,半连接运算 定义 半连接R S=R(R S),=,分布式查询处理,半连接作用 找出R中能够与S中元组相连接的元组来,类似于在连接之前先做选择和投影。 R S = (R S) S R S = (S R) R 半连接的非对称性 R S (S R),分布式查询处理,半连接在分布式数据库中的应用 R与S位于不同场地S1,S2上,其属性组分别为R1,R2,要在S1场地求R和S的连接结果。 在S1场地对R做投影,将R缩减为R, R=R1R2(R) 将R 送往场地S2。 在S2场地完成S与R的半连接操作,将S缩减为S, S = S R 将S送回场地S1 。 在S1场地完成R与S的连接操作, R S = R S,分布式查询处理,通讯代价模型 TC(X)= C0+X*C1 其中X为数据传输量。 C0为两结点初始化一次传输所花费的开销。 C1为传输率,即单位数据传输所花费的时间。 采用半连接的通讯代价: CSJ=2C0+(size(R)*card(R)+size(S)*card(S)*C1 不采用半连接的通讯代价: CJN=C0+size(S)*card(S) *C1 当S中参与连接的元组足够少时采用半连接策略是有利的。,分布式事务模型,分布式事务 数据的分布导致事务具有了分布性。一个全局事务的执行被划分为在许多场地上子事务的执行。 示例:银行在两个帐户之间转帐。 对集中式数据库,单个事务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 + 100 T5 : 结果返回给用户,分布式事务模型,事务管理模型,TC1,TM1,TCn,TMn,事务管理器TM:管理那些访问存储在一个局部结点中的数据的事务。事务可以是局部事务,也可以是全局事务的一部分。 事务协调器TC:协调该结点上发起的各事务(局部的或全局的)的执行。,分布式事务模型,事务管理器功能 维护一个用于恢复的日志。 参与适当的并发控制模式,以协调在该结点上执行的事务的并发执行。 事务协调器功能 启动事务的执行。 将事务分解为若干子事务,并将子事务分派到适当的结点上去执行。 协调事务的终止,保证事务在所有的结点上都提交或都中止。 一个全局事务的各个子事务要么全部执行,要么全部中止。,分布式事务模型,系统故障 分布式系统故障 结点故障,消息丢失,通信链路故障,网络分割。 网络拓扑 性能指标:安装开销,通讯开销,可用性。,A,B,C,D,A,B,C,D,A,B,C,D,A,B,C,D,A,B,C,D,E,分布式事务模型,事务两阶段提交协议 假定事务T在结点Si发起, 阶段1: 事务协调器TCi向日志中加入一条记录,并强制该日志写入稳存中。 TCi将消息发送到执行T的所有结点上。 当某结点接受到上述消息时,该结点的TM回答确定是否提交T中属于它的那部分,若否,则TM将记录加入到日志中,并向TCi发送消息。若是,则TM将记录加入到日志中,并将日志强制写入稳存中,并向TCi发送消息。,分布式事务模型,阶段2: 当TCi收到所有结点对消息的回答时,或等待响应的时间已过,TCi决定事务T是提交还是中止。 如果TCi 收到的都是消息,事务就可以提交,否则事务必须被中止。根据结果的不同向日志中写入 或者,并强制将日志写入稳存中。 向所有参与的结点发送消息或。 结点收到此消息后,就把该消息记入日志中。(向TCi发送消息; TCi收到该消息后,将记录加入到日志中)。,并发控制,单一锁管理器模式 系统维护位于单一节点(Si)上的单一锁管理器。 如果有事务欲封锁某一数据项,它向Si发送锁请求, Si决定是否可以立即满足该请求。 是,向请求节点发送消息。 否,推迟发送消息直至锁能够被授予。 读数据可以从存在数据副本的任一个节点读取,写数据时所有包含该数据副本的节点都必须参与到写操作中。 优点:实现简单,死锁处理简单。 缺点:锁管理器节点可能成为系统瓶颈;对锁管理器节点依赖大,系统脆弱性大。,并发控制,多数协议 每个节点维护自己的局部锁管理器。 当一节点欲封锁另一节点Si上的且未被复制的数据库项Q时,它向Si发送一条锁请求消息;如果Q被施加了不相容锁,则请求被推迟直至被满足,然后Si向请求节点发送消息。 如果Q在n个不同的节点上有副本,则锁请求消息被发送到这n个节点,必须获得多数副本上的封

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论