第一章分布式数据库系统概述一、分布式数据库的发展1、分布式数据库的发展:①集中式数据库管理系统的局限性:a.通讯瓶颈;b.响应速度。②推动分布式数据库发展的动力:a.应用需求;b.硬件环境的发展。二、分布式数据库系统的定义:分布式数据库系统,通俗地说,是物理上分散而逻辑上集中的数据库系统。分布式数据库系统使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中是数据库系统)连接起来,共同组成一个统一的数据库系统。三、分布式数据库系统的特点:a.物理分布性:数据不是存放在一个站点上b.逻辑整体性:是与分散式数据库系统的区别c.站点自治性:是与多处理机系统的区别d.数据分布透明性e.集中与自治相结合的控制机制f.存在适当的数据冗余度g.事务管理的分布性四、分布式数据库系统的分类按局部数据库管理系统的数据模型分类:同构性(homogeneous)(分为同构同质型和同构异质型)DDBS和异构性(heterogeneous)DDBS按分布式数据库系统的全局控制系统类型分类:全局控制集中型DDBS,全局控制分散型DDBS,全局控制可变型DDBS。五、分布式数据库中数据的独立性和分布透明性所谓数据独立性是指用户或用户程序使用分布式数据库如同使用集中式数据库那样,不必关心全局数据的分布情况,包括全局数据的逻辑分片情况、逻辑片段站点位置的分配情况,以及各站点上数据库的数据模型等。也就是说,全局数据的逻辑分片、片段的物理位置分配,各站点数据库的数据模型等情况对用户和用户程序透明。所以,在分布式数据库中分布独立性也称为分布透明性。六、分布式数据库系统的体系结构、组成成分集中式数据库管理系统结构:a.DB(数据库)b.DBMS(集中式数据库管理系统)c.DBA(数据库管理员)分布式数据库管理系统(DDBMS)结构:a.LDB(局部数据库)b.GDB(全局数据库)c.LDBMS(局部数据库管理系统)d.GDBMS(全局数据库管理系统)e.LDBA(局部数据库管理员)f.GDBA(全局数据库管理员)七、分布式数据库系统的特性:1.数据透明性:a.分布透明性b.分片透明性c.复制透明性2.场地自治性:a.设计自治性b.通信自治性c.执行自治性八、分布式数据库系统的优点:分布式数据库系统是在集中式数据库系统的基础上发展来的,比较分布式数据库系统与集中式数据库系统,可以发现分布是数据库系统具有下列优点:1.更适合分布式的管理与控制。分布式数据库系统的结构更适合具有地理分布特性的组织或机构使用,允许分布在不同区域、不同级别的各个部门对其自身的数据实行局部控制。例如:实现全局数据在本地录入、查询、维护,这时由于计算机资源靠近用户,可以降低通信代价,提高响应速度,而涉及其他场地数据库中的数据只是少量的,从而可以大大减少网络上的信息传输量;同时,局部数据的安全性也可以做得更好。2.具有灵活的体系结构。集中式数据库系统强调的是集中式控制,物理数据库是存放在一个场地上的,由一个DBMS集中管理。多个用户只可以通过近程或远程终端在多用户操作系统支持下运行该DBMS来共享集中是数据库中的数据。而分布式数据库系统的场地局部DBMS的自治性,使得大部分的局部事务管理和控制都能就地解决,只有在涉及其他场地的数据时才需要通过网络作为全局事务来管理。分布式DBMS可以设计成具有不同程度的自治性,从具有充分的场地自治到几乎是完全集中式的控制。3.系统经济,可靠性高,可用性好。与一个大型计算机支持一个大型的集中式数据库在加一些进程和远程终端相比,由超级微型计算机或超级小型计算机支持的分布式数据库系统往往具有更高的性价比和实施灵活性。分布式系统比集中式系统具有更高的可靠性和更好的可用性。如由于数据分布在多个场地并有许多复制数据,在个别场地或个别通信链路发生故障时,不致于导致整个系统的崩溃,而且系统的局部故障不会引起全局失控。4.在一定条件下响应速度加快。如果存取的数据在本地数据库中,那末就可以由用户所在的计算机来执行,速度就快。5.可扩展性好,易于集成现有系统,也易于扩充。对于一个企业或组织,可以采用分布式数据库技术在以建立的若干数据库的基础上开发全局应用,对原有的局部数据库系统作某些改动,形成一个分布式系统。这比重建一个大型数据库系统要简单,既省时间,又省财力、物力。也可以通过增加场地数的办法,迅速扩充已有的分布式数据库系统。九、分布式数据库系统的缺点:1.通信开销较大,故障率高。例如,在网络通信传输速度不高时,系统的响应速度慢,与通信县官的因素往往导致系统故障,同时系统本身的复杂性也容易导致较高的故障率。当故障发生后系统恢复也比较复杂,可靠性有待提高。2.数据的存取结构复杂。一般来说,在分布时数据库中存取数据,比在集中时数据库中存取数据更复杂,开销更大。3.数据的安全性和保密性较难控制。在具有高度场地自治的分布时数据库中,不同场地的局部数据库管理员可以采用不同的安全措施,但是无法保证全局数据都是安全的。安全性问题式分布式系统固有的问题。因为分布式系统式通过通信网络来实现分布控制的,而通信网络本身却在保护数据的安全性和保密性方面存在弱点,数据很容易被窃取。4.分布式数据库的设计、场地划分及数据在不同场地的分配比较复杂。数据的划分及分配对系统的性能、响应速度及可用性等具有极大的影响。不同场地的通信速度与局部数据库系统的存取部件的存取速度相比,是非常慢的。通信系统有较高的延迟,在CPU上处理通信信息的代价很高。分布式数据库系统中要注意解决分布式数据库的设计、查询处理和优化、事务管理及并发控制和目录管理等问题。第二章分布式数据库系统的结构通常从三种不同的角度来描述一个系统的体系结构,分别为基于层次结构、基于组件结构和基于数据模型结构的描述方法。基于层次结构的描述方法是依据系统不同层次的功能描述系统的构成。基于组件结构的描述方法是定义系统的构成组件及组件间的关系。基于数据模式结构的描述方法是定义不同的数据类别结构及其相互关系,定义不同的视图提供给相应的组件应用。一、分布式数据库系统的物理结构和逻辑结构分布式数据库的物理结构场地4网络场地1场地2场地3场地m分布式式数据库的逻辑结构二、DDBS的体系结构系统的体系结构(Architecture)指按组件、组件功能以及它们的交互作用定义系统的结构(Structure)DDBS的组件结构1.应用处理器(AP)功能:DDBMS全局用户LDBMS1LDBMSn……DB1DBna.用户接口:检查用户身份,接受用户命令,如:SQL命令。b.语义数据控制器:视图管理、安全控制、语义完整性控制(全局概念模式)。这些约束定义在字典中。c.全局查询处理器:将用户命令翻译成数据库命令;生成全局查询的分布执行计划;收集局部执行结果并返回给用户。d.全局执行监控器(全局事务管理器):调度协调和监视AP和DP之间的分布执行;保证复制数据的一致性;保证全局事务的原子性。2.DP功能a.局部查询处理:实现全局命令到局部命令的转换;访问路径选择器,选择最好的路径执行。b.局部恢复管理器:维护本地数据库一致性的故障恢复。c.运行支持处理器(存储管理器):按调度命令访问数据库;控制数据库缓存管理器;返回局部执行结果;保证子事务执行的正确性。d.局部事务管理器:以局部子事务为单位调度执行,保证子事务执行的正确性。e.局部调度管理器:负责局部场地上的并发控制,按可串行化调度和执行数据操作。三、模式结构我国分布式数据库系统标准草案中给定的抽象为四层的模式结构:全局外层、全局概念层、局部概念层和局部内层。模式与模式之间是映射关系。1.全局模式或外模式(ES):全局外模式即全局用户视图,是分布式数据库的全局用户对分布式数据库的最高层抽象。全局用户使用视图时,不必关心数据的分片和具体的物理分配细节。2.全局概念模式(GCS):全局概念模式即全局概念视图,是分布式数据库的整体抽象,包含了全部数据特性和逻辑结构。像集中式数据库中的概念模式一样,是对数据库全体的描述。全局概念模式再经过分片模式和分配模式映射到局部模式。3.分片模式是描述全局数据的逻辑划分视图。即全局数据逻辑结构根据某种条件的划分,将全局数据逻辑结构划分为局部数据逻辑结构。每一个逻辑划分成一个分片。在关系数据库中,一个关系中的一个子关系称该关系的一个片段。4.分配模式是描述局部数据逻辑的局部物理结构,即划分后的分片的物理分配视图。5.局部概念视图(LCS):局部概念模式为局部概念视图,是全局概念模式的子集。局部概念模式用于描述局部场地上的局部数据逻辑结构。当全局数据模型与局部数据模型不同时,还涉及数据模型转换等内容。6.局部内模式定义局部物理视图,是对物理数据库的描述,类似集中数据库的内层。7.分布式数据库的四层结构及模式定义描述了分布式数据库是一组用网络联结的局部数据库的逻辑集合。它将数据库分为全局数据库和局部数据库。全局数据库到局部数据库由映射(1:N)模式描述。全局数据库是虚拟的,由全局概念层描述。局部数据库是全局数据库的内层,由局部概念层和局部内层描述。全局用户只关心全局外层定义的数据库用户视图,其内部数据模型的转换、场地分配节等由系统自动实现。四、DDB和数据库集成系统通常,分布式数据库系统是自上而下(top-down)地设计数据库,可灵活地进行分片和分配设计。用户可得益于其“集中控制”和数据库系统具有的数据处理能力。但分布式数据库系统具有数据库组件数量的限制,通常不多于数十个数据库组件。数据集成系统通过约束数据管理能力(只支持只读),可将数据库组件数量扩展到数百个。在数据集成系统中,通常数据和数据库已存在,是遵循自下而上(bottom-up)地集成各局部场地上的数据。多数据库系统(MDB)MDBS是在己经存在的数据库系统(称为局部数据库系统:LDBs)之上为用户提供一个统一的存取数据的环境。P2P数据库系统(P2PDBS)对等型模型(又称P2P模型)是一种新型的体系结构模型,面向大范围的多数据资源点的松散耦合。特点:a.每个点均可贡献数据,系统资源具有丰富性、多样性;b.可直接访问数据源中的数据资源,即时得到最新鲜的数据,不同于如数据仓库等集中的数据资源仓;c.采用自组织原则,具有健壮性;d.每个点可随时加入和退出,系统具有分散性、可扩展性;e.以Web上的资源为Peer点,系统部署简单,不需要复杂的框架部署实现。五、分布式数据库系统分类分布式数据库系统的分类很多。为全面、系统地对分布式数据库系统进行分类,采用分布式数据库的三个特性(分布性、异构性、自治性)组成的三维空间图来描述分布式数据库的类型。三个基本特性:1.分布性是指系统的各组成单元是否位于同一场地上。分布式数据库系统是物理上分散、逻辑上统一的系统,即具有分布性。而集中式数据库系统集中在一个场地上,所以不具有分布性。2.异构性是指系统的各组成单元是否相同,不同为异构,相同为同构。异构主要:a.数据异构性:指数据在格式上、语法和语义上存在不同。b.数据系统异构性:指各个场地上的局部数据库系统是否相同。如:均采用ORACLE数据库系统的同构数据系统。或某些场地采用SYBASE数据库系统,某些场地采用INFORMIX系统的异构数据库系统。c.平台异构性:指计算机系统是否相同。如:均为微机系统组成的平台同构系统或由VAX或ALPHA系统等异构平台组成的系统。3.自治性是指每个场地的独立自主能力。自治性通常由设计自治性、通讯自治性和执行自治性三方面来描述。根据系统的自治性,可分为集中式系统、联邦式系统(FederatedDB)和多数据库系统(MultiDB)。a.集中式系统即为传统的数据库系统。b.联邦式系统:实现需要交互的所有数据库对之间的一对一连接。c.多数据库系统:是指若干相关数据库的集合。各个数据库可以存在同一场地,也可分布多个场地。对多数据库系统进行管理的软件称多数据库管理系统,多数据库管理系统是对一组自治的数据库进行管理,并提供透明访问。第三章分布式数据库设计在系统设计中,最基本问题就是分布式数据库的分布问题,即如何对分布