分布式数据库系统及其应用课后习题练习 联系客服

发布时间 : 星期二 文章分布式数据库系统及其应用课后习题练习更新完毕开始阅读c2d68a1876c66137ee061939

1.1 采用分布式数据库系统的主要原因是什么?

集中式数据库系统的不足:1.数据按实际需要已经在网络上分布存储,如果再采用集中式处理,势必造成附加成本和通信开销,2,。应用程序集中在一台计算机上运行,一旦该计算机发生故障,将会影响整个系统的运行,可靠性不高。3集中式处理导致系统的规模和配置都不够灵活,系统的可扩展性较差。 1.6分布式DBMS具有哪些集中式DBMS不具备的功能?

数据跟踪,分布式查询处理,分布式事务管理,复制数据管理,安全性,分布式目录管理

1.12分布式数据库系统的实现技术主要包括哪些内容?

分布式数据库设计,分布式查询和优化,分布式事务管理和恢复,分布式并发控制,分布式数据库的可靠性,分布式数据库的安全性

1.14分布式数据库系统的主要优点是什么?存在哪些技术问题?

分布式数据库系统优点:良好地可靠性和可用性;提高系统效率,降低通信成本;较大的灵活性和可伸缩性;经济型和保护投资;适应组织的分布式管理和控制;数据分布式具有透明性和站点具有较好的自治性;提高了资源利用率;实现了数据共享。

分布式数据库系统中存在的技术问题:数据的分割、分布和冗余度;异构数据库的互联;分布式数据库系统的查询处理; 分布式数据库系统的更新处理;分布式数据库系统的并发控制;分布式数据库系统的恢复控制;目录管理;数据安全性和保密性处理。

2.5 数据库系统设计过程有那几个阶段?简述

需求收集和分析阶段;概念模型设计阶段;逻辑模型设计阶段;物理模型设计阶段;数据库实现阶段;数据库试运行阶段;数据库正式运行和维护阶段。 2.10简述OSI网络模型和TCP/IP的层次结构,TCP/IP为什么成为Internet的事实标准?

OSI层次结构:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。TCP/IP层次结构:网络层,Internet层,传输层,应用层。 TCP/IP之所以成为Internet的事实标准,主要是它有如下特点:1,灵活性好,即适用于广域网,又适用于局域网;2效率高,采用简化的四层通信协议,不同于OSI的七层通信协议:3可靠性高,不进行纠错,发现错误后重发,比较实用,4跨平台性好,支持UNIX、Linux、Windows等不同的平台;5网络通用性好,适用于各种网络拓扑结构,以共享全局标识符(IP地址)来实现信息定位和传输。

3.3数据分片应遵守哪些基本原则?数据分片有哪些基本类型和方法?

数据分片应遵守的基本原则:完整性条件,可重构性条件,不相交条件。 数据分片的基本类型和方法:水平分片和垂直分片

3.7为什么说在分布式数据系统中,数据独立性这一目标比集中式数据库系统更为重要,也更为复杂?

在集中式数据库中,数据独立性包括逻辑独立性与数据的物理独立性,分别表示用户程序与数据的全局逻辑结构和数据的物理结构无关。在分布式数据库中,除了数据的逻辑独立性与数据的物理独立性之外,还有数据的分布独立性。所谓数据分布独立性是指用户或者用户程序使用分布式数据库如同使用集中式数据库那样,不必关心全局数据的分布情况,包括全局数据的逻辑分片情况,逻辑片段的站点位置分片情况,以及各站点上数据库的数据模型等,也就是说全局

数据的逻辑分片、片段的物理位置分配、各站点数据库的数据模型等情况对用户和用户程序是透明的。分布独立性也称为分布透明性,分布透明性包括三个层次:分片透明性、位置透明性和局部数据模型透明性。

4.1用自己的语言概述分布式查询优化与集中式查询优化的异同

在集中式数据系统中,一个查询优化的目的在于为每个用户查询寻求总代价最小的执行策略。通常,总代价是以查询处理期间的CPU代价和I/O代价之和来衡量的。由于集中式数据库系统大都运行在单CPU的计算机上,要达到使总代价最小的查询优化目的,就意味着要尽可能地降低I/O代价,使查询的响应时间最短。

在分布式数据系统中,一个查询可能涉及多个站点,通常以两种不同的标准来衡量查询优化策略。一种标准是总代价最小,除了像集中式数据库系统一样考虑CPU代价和I/O代价之外,总代价还包括站点之间传输数据或消息的代价。由于分布式数据库系统中的数据一般是分布冗余的,这使得查询处理一般需要考虑站点之间的传递数据和消息所需的通信费用,从而引起查询总代价的增加。另一种标准时响应时间最短,这一点在分布式数据库系统中具有更重要的意义。因为,分布式数据库系统是由多台计算机组成的系统,数据的分布和冗余也增加了查询并行处理的可能性,从而可以加快查询处理的效率,缩减查询处理的响应时间。

4.3概述基于关系代数等价变换的查询优化算法的基本原则和实现步骤。

基于关系代数等价变换的查询优化的基本原则:把查询问题转变为关系代数表达式,分析得到查询树(语法树)。进行从全局到片段的变换得到基于片段上的查询树,然后利用关系代数等价变换规则优化算法,,尽可能地先执行选择和投影操作。

基于关系代数等价变换查询优化的主要实现步骤如下: 1. 将一个查询问题转换成关系代数表达式。

2. 将关系代数表达式转换为查询树,对一个关系代数表达式进行语法分析,可以得到一棵语法树

3. 从全局查询到片段查询的变换:这个变换的典型方法是把基于全局关系的查询树中的全局关系名,用其重构该全局关系的各片段名替换,变换成相应片段上的查询树

4. 利用关系代数等价变换规则的优化算法对片段上的查询树进行优化处理,最后达到优化查询的目的。

5.5 日志、档案库和检查点的作用是什么?典型的日志包含哪些内容?为什么要“先写日志”?

日志的作用是为了能够从故障状态中恢复有影响的事务。 档案库的作用是为了防止因介质故障而破坏日志和数据库。 检查点的作用是为了便于恢复事务。

典型的日志包含了每个改变数据项值的写操作记录。

因为系统崩溃时主存中的内容可能丢失,所以恢复时只能考虑已写回磁盘的日志内容。因此,在事务到达提交点以前,还未写到磁盘的日志的任何部分,必须被写入磁盘,即“先写日志”。

5.7请用自己的语言描述两阶段提交协议的执行过程。

两阶段提交协议把事务提交过程分为两个阶段:第一阶段是表决阶段,目的是形成一个共同的决定。开始时,协调者在它的日志中写入一条开始提交的记录,

再给所有参与者发送“准备(提交)”消息,并进入等待状态,当参与者收到“准备”消息后,它检查是否能否提交本地事务。如果能提交,参与者在日志中写入一条就绪记录,并给协调者发送“建议提交”消息,然后进入就绪状态:否则,参与者写入撤销日志记录,并给协调者发送“建议撤销”消息。如果某个站点做出“建议提交”提议,由于撤销决定具有否决权(即单方面撤销),该站点可以忽略这个事务。协调者收到所以参与者的回答后,就做出是否提交事务的决定。因此,它写入一条撤销日志记录,并给所以参与者发送“全局撤销”消息,然后进入撤销状态;否则,它写入提交日志记录,并给所以参与者发送“全局提交”消息,然后进入提交状态。第二阶段是执行阶段,目的是实现这个决定。根据协调者的指令,参与者或者提交事务,或者插销事务,并给协调者发送确认消息。此时,协调者在日志中写入一条事务结束记录并终止事务。

5.9两阶段提交协议适合哪种故障发生的情况?谨慎两阶段提交协议的基本思想是什么?

两阶段提交协议适合通信故障很少发生,站点故障发生概率较高的系统中。 谨慎两阶段提交协议的基本思想是:满足两阶段提交协议的所有特征,并在决定插销前,给全局事务第二次机会。在协调者站点决定撤销之前,通过重新发送“准备”消息和重新设置一个定时器,允许协调者站点在另一个时间段与它没有收到消息的参与者站点通信。

6.5 什么是两阶段封锁协议?它如何保证可串行性?为什么人们更愿意采用严格两阶段封锁和严酷两阶段封锁?

所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁:1. 在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁。2. 在释放一个封锁之后,事务不再申请和获得任何其他封锁。因此保证可串行性。由于实现基本2PL协议要锁管理器必须要知道事务的锁点位置;保守2PL要事先声明续集和写集,这都是难以实现的。严格2PL和严酷2PL容易实现。严格2PL的实现方法是:事务在提交或者撤销之前,绝对不释放任何一个写锁;事务结束时(提交或者撤销),同时释放所有的锁。严酷2PL的实现方法是:事务T在提交或撤销之前,不能释放任何一个锁(写锁或者读锁),因此它比严格2PL更容易实现。

??7.5什么是三阶段提交协议?讨论三阶段提交协议的终结协议和三阶段提交协议的恢复协议。(看书上太多了)

三阶段提交协议就是在“等待”状态和“提交”状态之间增加一个状态,用在准备提交但还没有提交的时候。

8.2什么是数据库的安全性?阐述分布式数据库存在的不安全因素以及防范措施。

数据库的安全性包括:保障数据库数据的完整性,保障数据库数据的保密性,数据库数据的可用性;

不安全因素:黑客攻击,计算机病毒,安全环境的脆弱性

14、 对于如下定义的两个事务: