第七章 分布式数据库系统
109. 分布式数据库与集中式数据库的最大区别是什么:
数据库中的数据不是存储在同一场地,而是分布存储在多个场地。这是分布式数据库与集中式数
据库的最大区别。
110. 区分一个系统是分散式还是分布式的方法:
就是判断系统是否支持全局应用。所谓全局应用,就是指涉及到两个或两个以上场地中数据库的
应用。
111. 分布式数据库系统的确切定义:
分布式数据库系统中的数据是分布存放在计算机网络的不同场地的计算机中,每一场地都有自治处理
(独立处理)能力并能完成局部应用;而每一场地也参与(至少一种)全局应用程序的执行,全局应
用程序可通过网络通信访问系统中多个场地的数据。
分布式数据库系统包含两个重要组成部分:分布式数据库和分布式数据库管理系统。
分布式数据库是计算机网络环境中各场地上数据库的逻辑集合。
分布式数据库管理系统是分布式数据库系统中的一组软件,它负责管理分布环境下逻辑集成数据的存
取、一致性、有效性、完备性。
112. 分布式数据库系统的透明性:
(1) 位置透明性:是指用户和应用程序不必知道它所使用的数据在什么场地。
(2) 复制透明性:在分布式系统中,为了提高系统的性能和实用性,有些数据并不只存放在一
个场地,很可能同时重复地存放在不同的场地。
113. 分布式数据库系统的优点:
(1) 具有灵活的体系结构。 (2) 适应分布式的管理和控制机构。 (3) 经济性能优
越。 (4) 系统的可靠性高、可用性好。 (5) 局部应用的响应速度快。 (6) 可扩展性
好,易于集成现有的系统。
114. 分布式数据库系统的缺点:
(1) 系统开销较大,主要花在通信部分。 (2) 复杂的存取结构。 (3) 数据的安全性
和保密性较难处理。
115. 分布式数据库系统的分类:
(1) 同构同质型 DDBS (2) 同构异质型 DDBS (3) 异构型 DDBS
116. 数据分配:
数据分配是指数据在计算机网络各场地上的分配策略。有时也称为“数据分布”。一般存在着四
种分配策略。
(1) 集中式:所有数据均安排在同一场地。
(2) 分割式:所有数据只有一份,分别被安置在若干场地。
(3) 全复制式:数据在每个场地重复存储。
(4) 混合式:介于分割式和全复制式之间的分配方式。
对于上述四种分配策略,有四个评估因素:存储代价、可靠性、检索代价、更新代价。
存储代价←─→可靠性
矛盾
检索代价←─→更新代价
117. 数据分片:
分布式数据库中的数据可被分割和复制在网络场地的各个物理数据库中。一般数据存放的单位不是关
系而是片段,一个片段是关系的一部分。
分片的方式主要有下面三种:
(1) 水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系
的一个片段。
(2) 垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上做投影运算,每个投影
为垂直分片。
(3) 混合型分片
118. 在定义各种分片时必须遵守的条件:
(1) 完备性条件。不允许发生属于全局关系的某个数据不属于任何一个片段。
(2) 重构条件。必须确保能够由各个片段重建全局关系。
(3) 不相交条件。要求一个全局关系被划分后所得的各个数据片段互相不重叠。
119. 分布透明性:
分布透明性指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场
地上数据库的数据模型。它可归入物理独立性的范围。
120. 分布透明性就包括的三个层次:
(1) 分片透明性:最高层次的分布透明性。是指用户或应用程序只对全局关系进行操作而不必考
虑数据的分片。
(2) 位置透明性:位于分片视图与分配视图之间。是指用户或应用程序应当了解分片情况,但不
必了解片段的存储场地。
(3) 局部数据模型透明性:位于分配视图与局部概念视图之间,指用户或应用程序要了解分片及
各片段存储场地,但不必了解局部场地上使用的是何种数据模型。
121. 分布式数据库管理系统(DDBMS)的主要功能:
(1) 接收用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该请求。
(2) 访问网络数据字典,或者至少了解如何请求和使用其中的信息。
(3) 如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。
(4) 通信接口功能。在用户、局部 DBMS 和其它计算机的 DBMS 之间进行协调。
(5) 在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。
122.
DDBMS 的组成:
从功能上讲,一个 DDBMS 应包括以下四个子系统: (1) 查询子系统 (2) 完整性子系
统 (3) 调度子系统 (4) 可靠性子系统
123. 分布式数据库系统中存在的问题:
(1) 不同场地的通信速度,与局部 DBS 的存储部件的存取速度相比,是非常慢的。
(2) 通信系统有较高的存取延迟时间。
(3) 在 CPU 上处理通信的代价很高。
(4) 不同通信系统有不同意义的字符。
124. 在客户/服务器式 DBS 中,数据库应用的功能分成哪两部分:
(1) 前端部分:由一些应用程序构成,实现前端处理和用户界面。
(2) 后端部分:包括存取结构、查询优化、并发控制、恢复等系统程序,完成事务处理和数据访
问控制。
125. 客户机和服务器的功能划分方法:
第一种方法是把集中式 DBMS 的功能放在服务器一级。
第二种方法是基于面向对象方法,把 DBMS 的软件功能以更加集成的方式划分到客户机和服务器中。
126. 在典型的分布式 DBMS 中,把软件模块划分成哪三个级别:
(1) 服务器级软件 (2) 客户机级软件 (3) 通信软件
课后习题及答案名词解释
(1)集中式 DBS:是指数据库中的数据集中存储在一台计算机上,数据的处理集中在一台计算机上
完成。
(2)分布式 DBS:是指数据存放在计算机网络的不同场地的计算机中,每一场地都有自治处理能力
并完成局部应用;而每一场地也参与(至少一种)全局应用程序的执行,全局应用程序可通过网络通信
访问系统中的多个场地的数据。
(3)分布式 DB:分布式数据库,是指计算机网络环境中各场地上数据库的逻辑集合。
(4)分布式 DBMS:分布式数据库管理系统。是指分布式数据库系统中的一组软件, 它负责管理分
布环境下逻辑集成数据的存取、一致性、有效性和完备性。同时,由于数据的分布性, 在管理机制
还必须具有计算机网络通信协议上的分布管理特性。
(5)局部自治性:是指有独立处理能力并能完成的局部应用。
(6)数据分配(数据分布):是指数据计算机网络各场地上的分配策略。
(7)数据复制:是指数据在每个场地重复存储。
(8)数据分片:是指分布式数据库中的数据可以被分割和复制在网络场地的各个物理数据库中。 一
般数据存放的单位不是关系而是片段,一个片段是关系的一部分。 数据分片是通过关系代数的基本
运算实现的。
(9)水平分片:是指按一定条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系
的一个片段。
(10)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上做投影运算,每个投影为
垂直分片。
(11)分布透明性:指用户不必关系数据的逻辑分片,不必关系数据物理位置的细节,也不必关心各
个场地上的数据库的数据模型。
(12)分片透明性:分片透明性是最高层次的分布透明性,是指用户或应用程序只对全局关系进行操
作而不必考虑数据的分片。
(13)位置透明性:位置透明性位于分片视图与分配视图之间。是指用户或应用程序应当了解分片情
况,但不必了解片段的存储场地。
(14)局部数据模型透明性:这个透明性位于分配视图与局部概念视图之间,指用户或应用程序要了
解分片及各片段存储的场地,但不必了解局部场地上使用的是何种数据模型。
(15)复制透明性:即用户不必关心数据库在网络中各个结点的数据库复制情况,更新操作引起的波
及由系统去处理。
7.2 试叙数据从集中存储、分散存储到分布存储的演变过程。
早期的数据库系统都是属于集中式数据库系统,数据集中存储在一台计算机上。该方式有
一定优点, 比如,价格合理,易于管理,数据冗余少等等。但是,随着数据库应用的不断发展, 数
据库规模不断扩大,如采用集中存储的数据库,其系统的设计和操作都比较复杂, 系统显得不灵活
而且安全性也较差。因此采用了数据分散存储的办法,将数据库分成多个,建立在多台计算机上, 此
时的各个数据库的管理和应用程序均是分开并独立的。它们之间不存在数据通信联系。 随着计算机
网络通信的发展,有可能把分散在各处的数据库系统通过网络通信连接起来, 这样形成的系统称为
分布式的数据库系统,这时的数据库虽然分别存在各地的计算机上, 但它们之间通过分布式数据管
理系统可以进行联系。
7.3 与集中式 DBS、分散式 DBS 相比,分布式 DBS 有哪些特点?
与集中式 DBS 相比,分布式 DBS 中数据库的存储是分布性的,即数据不是存储在同一场地,而
是分布存储在多个场地。与分散式 DBS 相比,分布式 DBS 中数据库具有"逻辑整体性", 即表面上看,
分布式数据的数据库分散在各个场地,但这些数据在逻辑上却是一个整体, 如同一个集中式数据库。
7.4 试解释下列术语:同构同质型 DDBS,同构异质型 DDBS,异构 DDBS。
(1)同构同质型 DDBS:是指各个场地都采用同一类型的数据模型,并且是同一型号数据库管理系统。
(2)同构异质型 DDBS:是指各个场地都采用同一类型的数据模型,但是数据库管理系统是不同型号
的。
(3)异构型 DDBS:是指各个场地的数据模型是不同的类型。
7.5 分布式数据库系统有哪些优点和缺点?
分布式数据库系统的优点:
(1)具有灵活的体系结构
(2)适应分布式的管理和控制机构
(3)经济性能优越
(4)系统
的可靠性高、可用性好
(5)局部应用的响应速度快
(6)可扩展性好,易于集成现有系统
分布式数据库系统的缺点:
(1)系统开销大,主要花在通信部分;
(2)复杂的存取结构,原来在集中式系统中有效存取数
据的技术,在分布式系统中都不再适用;
(3)数据的安全生和保密性较难处理。
7.6 分布式数据库中,"数据分配"有哪些策略?"数据分片"有哪些策略? 数据分片的准则是什么?
数据分配是指数据在计算机网络各场地上的分配策略。包括:
(1)集中式:所有数据均安排在
同一个场地上。 (2)分割式:所有数据只有一份,分别被安置在若干个场地。 (3)全复制
式:数据在每个场地重复存储。
(4)混合式:数据库分成若干可相交的子集,每一子集安置在
一个或多个场地上,但是每一场地未必保存全部数据。
数据分片的方式有以下三种:
(1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系
的一个片段。 (2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上做投影运算,
每个投影为垂直分片。 (3)混合型分片:将水平分片与垂直分片方式综合使用则为混合型分片。
数据分片应遵循的准则为:
(1)完备性条件:必须把全局关系的所有数据映射到各个片段中,绝不允许发生属于全局关系的
某个数据不属于任何一个片段。
(2)重构条件:划分所采用的方法必须确保能够由各个片段重建
全局关系。
(3)不相交条件:要求一个全局关系被划分后得到的各个数据片段互相不重叠。
7.7 试叙述分布式 DBS 的体系结构,它有什么特征?
分布式 DBS 的体系结构分为四级:全局外模式、全局概念模式、分片模式和分配模式。
(1)全局外模式:它们是全局应用的用户视图,是全局概念模式的子集。
(2)全局概念模式:
全局概念模式定义了分布式数据库中所有数据的逻辑结构。
(3)分片模式:分片模式定义片段以
及定义全局关系与片段之间的映象。这种映象是一对多的,即每个片段来自一个全局关系,而一个全
局关系可分成多个片段。
(4)分配模式:片段是全局关系的逻辑部分,一个片段在物理上可以分
配到网络的不同场地上。分配模式根据数据分配策略的选择定义片段的存放场地。
分布式 DBS 的分层体系结构有三个特征:
(1)数据分片和数据分配概念的分离,形成了"数据分布独立性"概念。
(2)数据冗余的显式控
制。
(3)局部 DBMS 的独立性。
7.8 试叙述分布式 DBMS 的功能及组成。
主要功能有:
(1)接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该请求。
(2)访问
网络数据字典,或者至少了解如何请求和使用其中的信息。
(3)如果目标数据存储于系统的多个
计算机上,就必须进行分布式处理。 (4)通信接口功能,在用户、局部 DBMS 和其他计算机的 DBMS
之间进行协调。
(5)在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。这里的
异构型是指各个场地的硬件、软件之间存在一定差别。
DDBMS 组成——应包括以下四个子系统:
(1)查询子系统
(2)完整性子系统
(3)调度子系统
(4)可靠性子系统
7.9 分布式系统中影响查询的主要因素是什么?
分布式系统中,影响查询的主要因素数据经网络的传输时间,数据传输量是衡量查询时间的
一个主要指标, 不同场地间的联接操作和并操作是影响数据传输量的主要原因。
7.10 基于半联接的查询优化策略的基本思想是什么?
数据在网络中传输时,如果以整个关系传输,则传输数据量大,是一种冗余的做法, 而实际
上,在联接时并非每个数据都参与操作或有用。因此,考虑到不参与操作的值或无用的值不必经网络
来回传输,则可以减少传输的数据量。
7.11 表 7.2 中有两个关系 R 和 S,试计算下列表达式的值:
7.12 试述基于半联接查询的优化策略。
假设场地 1 的关系 R 和场地 2 的关系 S 在属性 R.A 和 S.B 上做联接操作, 为了减少数据传
输量,采用半联接方法,表示方法如下:
等式右边的式子称为"半联接程序":
△第一步,在场地 2 计算关系 S 在属性 B 上的投影πB(S),然后把πB(S)从场地 2 传输到场地 1. △第
二步,在场地 1 执行半联接(结果为关系 R 和πB(S)的自然连接)。 设结果为 R',再把 R'传到场地
2。 △第三步,在场地 2 执行 R'与 S 的联接操作得到结果。
依照以上步骤,不参与联接的值或无用的值不必在网络中来回传输,减少了数据传输量。
7.13 试述客户/服务器式 DBS 的一般结构。此时数据库应用的功能如何划分?
客户/服务器式 DBS 是在客户/服务器计算机网络上运行的 DBS,这个计算机网络中,有一些
计算机扮演客户, 另一些计算机扮演服务者(即客户机/服务器)。 客户/服务体系结构的关键在于功
能的分布。一些功能放在客户机(前端机)上运行,另一些功能则放在服务器(后端机)上执行。此时数
据库应用的功能分成两部分: 客户机(前端部分):由一些应用程序构成,例如,格式处理、报表输
出、数据输入、图形,实现前端处理和用户界面。 服务器(后端部分):包括存取结构、查询优化、
并发控制、恢复等系统程序,完成事务处理和数据访问控制。
7.14 试述分布式 DBS 的物理级客户/服务器体系结构。
客户/服务器式的分布式 DBS 中,把 DBMS 软件分成两级:客户级和服务器级。
如某些场地可能只运行客户机软件,某些场地可能只运行专用的服务器软件, 而在有一些场地可能
客户机软件和服务器软件都运行。
7.15 在分布式 DBS 中,DBMS 的功能如何划分? 有哪两种方法?
第一种方法是把集中式 DBMS 的功能放在服务器一级,提供给若干客户一个 SQL 服务器, 每
个客户机接收用户的查询命令,并解释 SQL 查询,提供用户接口和宿主语言接口的功能。
第二种方法是基于面向对象方法,把 DBMS 的软件功能以更加集成的方式划分到客户机和服务
器中。
7.16 在典型的分布式 DBMS 中,软件模块分成哪三级?
在典型的分布式 DBMS 中,软件模块分成以下三级: (1)服务器级软件:负责场地的局部数据管理 (2)
客户机软件:负责进行分布式管理,从数据字典中获取数据分布的信息,并处理涉及多场地的全局查
询。 (3)通信软件:负责提供各场地间的数据传输。