DDBS简答复习题

  • 格式:doc
  • 大小:1.06 MB
  • 文档页数:7

一、回答下列问题1.简述分布式数据库设计与集中式数据库设计的主要区别。

(1)集中式数据库设计包括四个阶段:需求分析、概念设计、逻辑设计、物理设计。

分布式数据库还增加一个分布设计阶段,位于逻辑设计和物理设计之间,以一个全局的、与站点无关的模式作为输入,以产生分布式数据可各站点子模式作为结果输出。

分布设计还包括数据的分片设计和片段的位置分配设计以及分片设计和片段位置的分配设计。

(2)另外在需求设计中,除了要弄清需求和应用需求外,分布式数据库还要求弄清:①各应用的原发站点。

②各应用在每个站点被激活的频率。

③各应用对所要求访问的每个数据对象的访问次数、类型和统计分布。

2.简述ANSI-SPARC根据数据的抽象级别定义的模式参考模型。

(P2)根据数据的抽象级别为数据库定义了三层模式参考模型。

外模式:数据库用户和数据库系统的接口,是数据库用户的数据视图(view)。

一个数据库系统通常有多个外模式。

外模式是保证数据库安全的重要措施。

模式:关于数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

模式是数据库中数据在逻辑级上的视图。

内模式:关于数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

一个数据库只有一个内模式。

3.简述分布式数据库的模式结构。

(P17)(1)全局外模式(GES)全局外层为全局外模式,即全局用户试图。

通常采用试图定义全局外模式,它是分布式数据库系统的全局用户对分布式数据库的最高层抽象,即具有分布透明性。

(2)全局概念模式(GCS)全局概念模式为全局概念试图,它是分布式数据库的整体抽象,包含了全部数据特性和逻辑结构,是对数据库全体的描述。

全局概念模式经过分片模式和分配模式映射到局部模式。

(3)局部概念模式(LCS)局部概念模式为局部概念试图,它是全局概念模式的子集,用于描述局部场地上的局部数据逻辑结构。

(4)局部内模式(LIS)局部内模式定义局部物理试图,它是对物理数据库的描述,类似于集中式数据库的内层。

4.简述分布式数据库的数据透明性。

(P7)分布透明性:用户看到的事全局数据模型的描述,如同使用集中式数据库一样,用户不需要考虑数据的存储场地和操作的执行场地。

分片透明性:分片过程是将一个关系分成几个子关系,每个子关系称为一个分片。

分片透明性指用户无须考虑数据分片的细节,应用程序对分片的调用(分片到片段的映射)由系统自动完成。

复制透明性:数据可重复存储在不同的场地上,从而提高系统的可用性和可靠性,以及系统处理的并行性。

5.简述分布式数据库的设计策略。

设计策略(1)自顶向下:从头开始设计数据库的方法。

在概念、逻辑、物理设计阶段,设计者将高级的、与计算机无关的规格说明规范成低级的、与计算机有关的规格说明。

在分布设计阶段,将全局模式映射成几个可能交叠的子集,然后完成每单个数据库设计。

(2)自底向上:先独立设计个数据库,然后再把他们集中起来。

首先选择公用数据库模型来构造数据库的全局模式(超视图),即把各站点上的数据库模式看成是全局模式的一个视图,然后概括分层结构支持视图综合,其中经典方法就是生成三个实体,即一个具有共同属性(超类型),两个具有不相交属性(子类型),最后视图综合次序,一次把一个视图和全局模式进行综合,逐步构造起全局视图,通常,最好首先综合最大的或最重要的视图,然后跟着综合小的或者不重要的视图。

6.阐述数据分片的作用以及分片需要考虑的几个因素。

(P39、P40)作用:1.减少网络传输量。

如:采用数据复制,可就近访问所需信息。

需频繁访问的信息分片存储在本地场地上。

2.增大事务处理的局部性。

局部场地上所须数据分片分配在各自的场地上,减少数据访问的时间,增强局部事务效率。

3.提高数据的可用性和查询效率。

就近访问数据分片或副本,可提高访问效率。

同时当某一场地出故障,若存在副本,非故障场地上的数据副本均是可用的。

保证了数据的可用性、数据的完整性和系统的可靠性。

4.使负载均衡。

减少数据访问瓶颈,提高整个系统效率。

考虑因素:在构成分布式数据库系统时,设计者必须考虑数据如何分布在各个场地上,即全局数据如何进行逻辑划分和物理分配问题。

哪些数据须分布存放、哪些数据不需要分布存放、哪些数据需要复制等,对系统进行全盘考虑,使系统性能最优。

但无论如何进行分片,必须遵循下面原则:完备性:所有全局数据必须映射到某个片段上。

可重构性:所有片段必须可以重新构成全局数据。

不相交性:划分的各片段所包含的数据不允许相同。

7.在分布式数据库系统中,为什么要对数据进行分片?什么是关系的片段?关系的片段有那些类型。

(P39)(1)分布式数据库的典型特点是对分布于不同物理场地上的数据实现逻辑的统一管理,还有①减少网络传输量。

②增大事务处理的局部。

③提高数据的可用性和查询效。

④使负载均衡等作用,因此要分片。

(2)关系的片段:一个关系分配和存储的逻辑单位。

(3)关系的片段类型:水平分片、垂直分片、混合分片。

当片段存储在一个以上场地时,称为数据复制。

如果每个片段只存储在一个场地,称为数据分割存储。

8.分布式事务有哪些基本性质,说明它与集中式事务的异同。

(P148、P151)(1)事务的原子性(Atomicity)、一致性(Consistency)、独立(隔离)性(Isolaty)、持久性(Durability)①原子性:指一个事务要么全部执行,要么不执行.也就是说一个事务不可能只执行了一半就停止了。

②一致性:指事务的运行并不改变数据库中数据的一致性。

③独立性:指两个以上的事务不会出现交错执行的状态.因为这样可能会导致数据不一致.。

④持久性:指事务运行成功以后,就系统的更新是永久的.不会无缘无故的回滚。

(2)相同点:均有一组操作序列组成。

不同点:执行方式不同。

分布式事务的操作分布在多个场地执行;集中式事务的操作只集中在一个场地执行。

9.简述并分析两阶段提交协议与三阶段提交协议。

(P156、P166)(1)决定阶段:由协调者发送预提交(prepare)命令,然后等待参与者的应答。

如果所有的参与者都返回“准备提交(ready)”。

那么协调者做出提交决定;如果至少有一个参与者返回“准备废弃”,那么协调者做出废弃决定。

(2)执行阶段:协调者把在决定阶段做出的决定发送给参与者。

如果协调者向各个参与者发“提交”(Commit)命令,各个参与者执行提交;如果协调者向各个参与者发出“废弃”(Abort)命令,各个参与者执行废弃,取消对数据库的修改。

无论是“提交”还是“废弃”,各参与者执行完毕后都要向协调者返回“确认”(Ack)应答,通知协调者执行结束。

三阶段提交协议的基本思想(1)投票表决阶段:由协调者向各个参与者发“预提交”(Prepare)命令,然后等待回答。

每个参与者根据自己的情况进行投票,若参与者可以提交,则向协调者返回“赞成提交”(Ready)应答,否则向协调者发送“准备废弃”(Abort)应答。

(2)准备提交阶段:若协调者收到的应答中存在“准备废弃”(Abort)应答,则向各个参与者发“全局废弃”(Abort)命令,各个参与者执行废弃,执行完毕后向协调者发送“废弃确认”(Ack)应答;若协调者收到的应答均为“赞成提交”(Ready)应答,则向各个参与者发“准备提交”(Prepare-to-Commit)命令,然后等待回答,若参与者已准备就绪,则向协调者返回“准备就绪”(Ready-to-Commit)应答。

(3)执行阶段:当协调者收到所有参与者的“准备就绪”(Ready-to-Commit)应答后,向所有参与者发送“提交”(Commit)命令,此时各个参与者已知道其它参与者均赞成提交,因此可以执行提交,提交后向协调者发送“提交确认”(Ack)应答。

10.简述分布式数据库中可能出现的故障类型。

(P175)数据库系统中的故障通常分为事务内部的故障、系统故障、存储介质故障和通信故障。

(1)事务内部的故障事务内部的故障可细分为可预期的和不可预期的。

可预期的事务故障是指故障的发生可以通过事务程序本身来检测。

不可预期的事务故障是指故障的发生不能被应用程序所检测并处理。

(2)系统故障系统故障的表现形式是使系统停止运转,必须通过重启后系统才能恢复正常。

系统故障的特点是:仅使正在运行的事务受到影响,但数据库本身没有被破坏。

此时,内存中的数据全部丢失。

(3)存储介质故障存储介质故障是指存储数据的硬盘等硬件设备发生的故障。

这类故障的特点是:不仅使正在运行的所有事务收到影响,而且数据本身也被破坏。

因此,同前两种故障相比,存储介质故障是一种严重的故障类型。

(4)通信故障对于分布式数据库来说,各个场地之间需要传送通信报文,因此容易引发通信故障。

通信故障可细分为网络分割故障和报文丢失故障。

综上所述,数据库系统中的故障可归为两大类:硬故障和软故障。

硬故障是永久的不能自动修复的,硬故障导致的失效成为硬失效。

这种故障对数据库系统是致命的,应尽量避免。

软故障通常是临时性或间歇性的,通常这些软故障导致的失效,称为软失效。

系统中90%的失效是软失效。

11.简述恢复协议和终结协议的差别。

(P192)恢复协议用来说明在发生故障时恢复命令的执行过程。

终结协议是分布式系统所特有的,用来描述非故障场地如何终止事务。

这里,恢复协议和终结协议时数据库系统发生故障的两种解决措施,二者从相反的角度描述了如何处理各种故障,它们存在着本质的区别:1、前者的执行是故障场地,而后者的执行是非故障场地;前者的执行过程是使故障场地尽快恢复到故障发生前的状态,而后者的执行过程是使非故障场地能够不受故障场地的影响而继续执行操作。

2、前者要实现的目标是使恢复协议尽量独立化,也就是说,在发生故障时故障场地能独立的恢复到正常状态而不必求助于其他场地,而后要实现的目标是使终结协议非阻断化。

所谓非阻断的终结协议时指允许事物通过非故障场地正确地终止而不必等待故障场地的恢复。

12.辨析数据库系统的可靠性和可用性。

(P190、P191)可靠性(Reliability):在给定环境条件下和规定的时间内,数据库系统符合其行为规范的概率。

强调正确性。

可用性(Availability):在给定时刻t上,数据库系统正常运行的概率。

强调可运行的能力。

13.多个事务并发执行,试举例分析可能产生的一种典型错误。

(P205)(1)丢失修改错误初始x=100,若并行执行,执行结果为:T1:x=70;T2:x =70,最终结果x=70;结果导致T2的执行结果破坏了T1执行的结果,该种现象也称丢失修改错误。

(2)重复读错误例8.1.2有两个并发执行的事务T1和T2,其中x是数据库中的一个属性,T1和T2操作序列如下所示:如:一事务(如:T1)重复读一数据项(x)时,得到不同的结果,该种现象称重复读错误。