一、分布式数据库系统概述
1. 分布式数据库与集中式数据库的最大区别是什么:
数据库中的数据不是存储在同一场地,而是分布存储在多个场地。这是分布式数据库与集中式数据库的最大区别。
2. 区分一个系统是分散式还是分布式的方法:
就是判断系统是否支持全局应用。所谓全局应用,就是指涉及到两个或两个以上场地中数据库的应用。
3. 分布式数据库系统的确切定义:
分布式数据库系统中的数据是分布存放在计算机网络的不同场地的计算机中,每一场地都有自治处理(独立处理)能力并能完成局部应用;而每一场地也参与(至少一种)全局应用程序的执行,全局应用程序可通过网络通信访问系统中多个场地的数据。
分布式数据库系统包含两个重要组成部分:分布式数据库和分布式数据库管理系统。
分布式数据库是计算机网络环境中各场地上数据库的逻辑集合。
分布式数据库管理系统是分布式数据库系统中的一组软件,它负责管理分布环境下逻辑集成数据的存取、一致性、有效性、完备性。
4. 分布式数据库系统的透明性:
(1)位置透明性:是指用户和应用程序不必知道它所使用的数据在什么场地。
(2)复制透明性:在分布式系统中,为了提高系统的性能和实用性,有些数据并不只存放在一个场地,很可能同时重复地存放在不同的场地。
5. 分布式数据库系统的优点:
(1)具有灵活的体系结构。
(2)适应分布式的管理和控制机构。
(3)经济性能优越。
(4)系统的可靠性高、可用性好。
(5)局部应用的响应速度快。
(6)可扩展性好,易于集成现有的系统。
6. 分布式数据库系统的缺点:
(1)系统开销较大,主要花在通信部分。
(2)复杂的存取结构。
(3)数据的安全性和保密性较难处理。
7. 分布式数据库系统的分类:
(1)同构同质型DDBS:是指各个场地都采用同一类型的数据模型,并且是同一型号数据库管理系统。
(2)同构异质型DDBS:是指各个场地都采用同一类型的数据模型,但是数据库管理系统是不同型号的。
(3)异构型DDBS:是指各个场地的数据模型是不同的类型。
二、分布式数据库系统的体系结构
1. 分布式数据存储
【1】数据分配:
数据分配是指数据在计算机网络各场地上的分配策略。有时也称为“数据分布”。一般存在着四种分配策略。
(1)集中式:所有数据均安排在同一场地。
(2)分割式:所有数据只有一份,分别被安置在若干场地。
(3)全复制式:数据在每个场地重复存储。
(4)混合式:介于分割式和全复制式之间的分配方式。
对于上述四种分配策略,有四个评估因素:存储代价、可靠性、检索代价、更新代价。
存储代价←─→可靠性
矛盾
检索代价←─→更新代价
【2】数据分片:
分布式数据库中的数据可被分割和复制在网络场地的各个物理数据库中。一般数据存放的单位不是关系而是片段,一个片段是关系的一部分。
分片的方式主要有下面三种:
(1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。
(2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上做投影运算,每个投影为垂直分片。
(3)混合型分片
【3】在定义各种分片时必须遵守的条件:
(1)完备性条件。不允许发生属于全局关系的某个数据不属于任何一个片段。
(2)重构条件。必须确保能够由各个片段重建全局关系。
(3)不相交条件。要求一个全局关系被划分后所得的各个数据片段互相不重叠。
2.分布透明性
【1】分布透明性:
分布透明性指用户不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上数据库的数据模型。它可归入物理独立性的范围。
【2】分布透明性就包括的三个层次:
(1)分片透明性:最高层次的分布透明性。是指用户或应用程序只对全局关系进行操作而不必考虑数据的分片。
(2)位置透明性:位于分片视图与分配视图之间。是指用户或应用程序应当了解分片情况,但不必了解片段的存储场地。
(3)局部数据模型透明性:位于分配视图与局部概念视图之间,指用户或应用程序要了解分片及各片段存储场地,但不必了解局部场地上使用的是何种数据模型。
3.分布式数据库管理系统(DDBMS)
【1】分布式数据库管理系统(DDBMS)的主要功能:
(1)接收用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该请求。
(2)访问网络数据字典,或者至少了解如何请求和使用其中的信息。
(3)如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。
(4)通信接口功能。在用户、局部DBMS和其它计算机的DBMS之间进行协调。
(5)在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。
【2】 DDBMS的组成:
从功能上讲,一个DDBMS应包括以下四个子系统:
(1)查询子系统
(2)完整性子系统
(3)调度子系统
(4)可靠性子系统
【3】分布式数据库系统中存在的问题:
(1)不同场地的通信速度,与局部DBS的存储部件的存取速度相比,是非常慢的。
(2)通信系统有较高的存取延迟时间。
(3)在CPU上处理通信的代价很高。
(4)不同通信系统有不同意义的字符。
4. 客户/服务器结构的发布式系统
【1】在客户/服务器式DBS中,数据库应用的功能分成哪两部分:
(1)前端部分:由一些应用程序构成,实现前端处理和用户界面。
(2)后端部分:包括存取结构、查询优化、并发控制、恢复等系统程序,完成事务处理和数据访问控制。
【2】客户机和服务器的功能划分方法:
第一种方法是把集中式DBMS的功能放在服务器一级。
第二种方法是基于面向对象方法,把DBMS的软件功能以更加集成的方式划分到客户机和服务器中。
【3】在典型的分布式DBMS中,把软件模块划分成哪三个级别:
(1)服务器级软件
(2)客户机级软件
(3)通信软件