《分布式数据库系统DDS》由会员分享,可在线阅读,更多相关《分布式数据库系统DDS(48页珍藏版)》请在金锄头文库上搜索。
1、DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.1分布式数据库系统DDSStillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.2课程简介课程简介学习分布式数据库系统基本概念及其原理掌握分布式数据库设计的基本方法研究分布式数据库访问策略及其优化等问题解决跨地域信息系统开发中的数据库设计问题D
2、istributedDBSUniversityofShanghaiforScienceandTechnologyPage1.3课程学习方法课程学习方法讲课文献阅读设计作业(1-2次)实验项目DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.4第第0讲讲:引论引论分布式数据库发展分布式数据库概念分布式数据库特性和优缺点分布式数据库分类分布式数据库存储分布式数据库的独立性和透明性DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.5Reference
3、sTEXTBOOK邵佩英分布式数据库系统及其应用第二版科学出版社M.T.zsuandP.Valduriez.Principles of Distributed Database Systems, 2nd edition.PrenticeHall贾焰分布式数据库技术.国防工业出版社周龙骧分布式数据库管理系统实现技术科学出版社JournalDISTRIBUTEDDATABASESYSTEMS:WHEREAREWENOW?DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.6数据库系统体系结构集中式数据库系统集中式数据库系统客
4、户客户/服务器数据库系统服务器数据库系统并行数据库系统并行数据库系统分布式数据库系统分布式数据库系统DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.7数据库系统体系结构概述数数据据库库系系统统的的体体系系结结构构与与计计算算机机系系统统的的体体系系结构密切相关结构密切相关:集集中中式式体体系系结结构构-集集中中式式数数据据库库系系统统计计算算机机的的联联网网-客客户户/服服务务器器数数据据库库系统系统并行处理能力并行处理能力-并行数据库系统并行数据库系统分布计算能力分布计算能力-分布式数据库系统分布式数据库系统Dis
5、tributedDBSUniversityofShanghaiforScienceandTechnologyPage1.8集中式数据库系统运行在一台计算机上,数据集中存储在一台计运行在一台计算机上,数据集中存储在一台计算机中,不与其他计算机系统交互的数据库系算机中,不与其他计算机系统交互的数据库系统。统。规模:个人微机规模:个人微机-大型主机大型主机单用户系统:管理简单单用户系统:管理简单多用户系统多用户系统:具有并发控制、故障恢复等能力具有并发控制、故障恢复等能力DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.9客
6、户/服务器结构微机变得速度更快,能力更强,价格更低微机变得速度更快,能力更强,价格更低-集中式系统中的终端被微机所代替集中式系统中的终端被微机所代替-集集中中式式系系统统直直接接执执行行的的用用户户界界面面功功能能由由微微机来处理机来处理集中式系统集中式系统-客户机客户机/服务器系统服务器系统DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.10客户/服务器结构客户客户/ /服务器系统的一般结构服务器系统的一般结构客户客户客户客户客户客户客户客户.服务器服务器网络网络DistributedDBSUniversityof
7、ShanghaiforScienceandTechnologyPage1.11客户/服务器数据库系统数据处理任务在客户与服务器间进行划分数据处理任务在客户与服务器间进行划分好处:有利于充分利用网络中的计算资源好处:有利于充分利用网络中的计算资源有利于减少网络上的传输量有利于减少网络上的传输量数数据据库库后后端端功功能能:存存储储管管理理、查查询询处处理理、事事务务管管理理。具具体体包包括括存存取取结结构构、查查询询计计算算和和优优化化、并并发发控控制、故障恢复等。制、故障恢复等。数数据据库库前前端端功功能能:应应用用的的处处理理,具具体体包包括括表表格格生生成成工具,报表书写工具,图形用户界面
8、工具等。工具,报表书写工具,图形用户界面工具等。DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.12并行数据库系统 paralleldatabasesystems利用并行计算机系统提供的并行处理能力,通利用并行计算机系统提供的并行处理能力,通过并行地使用多个过并行地使用多个CPUCPU和硬盘来提高处理速度和和硬盘来提高处理速度和I/OI/O速度,从而加速数据库的活动。速度,从而加速数据库的活动。主要研究内容主要研究内容并行数据库的物理组织并行数据库的物理组织并行数据操作算法的设计、分析与实现并行数据操作算法的设计、分
9、析与实现并行数据库查询优化并行数据库查询优化DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.13分布式系统分布式系统分布计算DistributedComputing分布式软件系统(DistributedSoftwareSystems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统分布式操作系统分布式程序设计语言及其编译(解释)系统分布式文件系统和分布式数据库系统等。DistributedDBSUniversityofShanghaiforScienceandTechnologyPag
10、e1.14分布处理,如果不分程度,则到处都有,即便是单处理器的计算机系统中也有分布处理。其实,计算机发展的过程就是一个不断将处理分布化的过程,例如,将CPU和I/O功能分开就是一个分布处理的样例。不过,现在我们讲的分布处理则要复杂得多,单处理器系统不包括在内。DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.15分布计算系统(分布计算系统(distributed computing system)定义为一组通过计算机网络互联的、自主的处理单元(不一定同构),协同工作,完成指派的任务。所谓的计算单元,指的是可以在其上面执
11、行程序的计算设施。DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.16分布式数据库的产生与发展分布式数据库的产生与发展比较成熟的数据库系统出现于20世纪六十年代末和七十年代。以IMS为代表的层次型数据库系统于1968年问世。20世纪七十年代初,美国CODASYL的数据库任务组的提出了有名的网络数据库模型DBTG。E.F.Codd于20世纪七十年代中期提出了关系数据库。七十年代,计算机科学技术的发展与飞速发展的现代通信技术相结合,导致了计算机网络的出现。这个时期,世界上先后建成了许多规模巨大的、全国性的广域计算机网络对
12、经济、国防、情报、科学技术和社会生活产生了深刻的影响。随着微型计算机的广泛应用,又自然地提出了这样的新问题,为了加强和扩大微型计算机处理数据的功能,要求将许多分布在不同地点上的微型计算机互连起来,共同工作。这样,进入了分布式数据库时代。DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.17文件系统文件系统program1datadescription1program2datadescription2program3datadescription3File1File2File3DistributedDBSUniversi
13、tyofShanghaiforScienceandTechnologyPage1.18数据库系统数据库系统databaseDBMSApplicationprogram1(withdatasemantics)Applicationprogram2(withdatasemantics)Applicationprogram3(withdatasemantics)descriptionmanipulationcontrolDistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.19数据库系统的一个主要动机是把一个企业的操作数据集成起
14、来,从而提供一个集中的数据访问。计算机网络技术针对集中的想法做相反的努力,分散化分布式数据库力图把两者协调起来。DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.20分布式数据库系统分布式数据库系统分布式数据库系统(Distributeddatabasesystem(DDBS)技术可以看作是数据处理即数据库系统和计算机网络技术的结合DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.21集成集成DatabaseTechnologyComputer
15、NetworksintegrationdistributionintegrationDistributedDatabaseSystemsDistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.22WHATISADISTRIBUTEDDATABASESYSTEM?究竟什么是分布式数据库究竟什么是分布式数据库?DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.23WhatisDDBSACollectionofmultiple,logicallyinter
16、relateddatabasesdistributedovercomputernetwork.物理分布(分布而非集中)-集中式逻辑整体(分布而非分散)-分散式站点自治(部分集中而非完全并行)-多处理机系统上面三点是衡量是否DDBS的重要标准DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.24CentralizedDBMSonaNetworkSite5Site1Site2Site3Site4CommunicationNetworkDistributedDBSUniversityofShanghaiforSciencea
17、ndTechnologyPage1.25DistributedDBMSEnvironmentSite5Site1Site2Site3Site4CommunicationNetworkDistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.26数据库分布式的管理数据库分布式的管理-在技术上引起新问题,在技术上引起新问题,是由一个节点来统一管理各分数据库呢?还是各节点在必要时,都挺身而出代行管理的职能呢?这是集中与分散的问题。每个节点的数据只在本节点保留一份呢,还是存储备份于其他各节点以防数据的破坏丢失呢?这是可靠性与节约之间的
18、矛盾。当数据库操作涉及多个分数据库上的数据时,应该把这些数据传送到哪个节点上去进行操作最佳呢?这是运筹帷幄的优化问题,等等。DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.27关键问题关键问题分布式系统实现考虑的核心问题:尽量将网络的使用减到最小,即尽量缩减消息的数量和大小。具体涉及到:分布数据库设计分布查询处理分布目录管理分布并发控制分布死锁管理分布DDBMS的可靠性操作系统的支持-如何提供一致的操作系统支持DistributedDBSUniversityofShanghaiforScienceandTechnol
19、ogyPage1.28当前的实际应用当前的实际应用真正的DDBMS实际应用范围实现案例具有部分分布功能的DBMS应用层实现主要的分布功能本课程介绍分布式数据库的基本原理和理论研究基础DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.29(非严格定义)(非严格定义)一个分布式数据库系统包含一个节点的集合,这些节点通过某种类型的网络连接在一起。其中:每个节点是一个独立的数据库系统节点这些节点协调工作,使得任何一个节点上的用户都可以对网络上的任何数据进行访问,就如同这些数据都存储在用户自己所在的节点上一样。Distribut
20、edDBSUniversityofShanghaiforScienceandTechnologyPage1.30特性特性物理上分布,逻辑上整体数据分布透明性集中和自治机制数据冗余一个理想的真正的分布式数据库系统应该让用户感觉不到其是一个分布式系统,这就是分布式系统的重要特性透明性透明性DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.31分布式数据库的优越性适应企业实际上分布的需要物理分布数据共享提供一个环境,使得一个节点上的用户可以访问存放在其他节点上的数据。局部自治每个节点可以对局部存储的数据保持一定程度的控制高可
21、用性若一个节点发生故障,其他的节点可能还能继续运行数据分布数据分布DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.32分布式数据库的缺点由于要保证各节点间的正确合作而增加了复杂性。主要表现为 软件开发代价 出现错误的可能性更大 处理开销增大 DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.33分布式数据库的目标分布式数据库的目标-基本原则基本原则 对于用户来讲,分布式系统必须看起来完全象一个非分布式系统。数据操作完全一样数据定义有所扩充即,
22、分布式系统的用户的操作与非分布式系统是完全相同的。分布式系统的所有问题是(或应当是)内部的、实现级别的问题,而不是外部的、用户级别的问题。 DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.34分布式数据库的-分布式数据库需满足的12规则(C.J.Date)分布式数据库的目标分布式数据库的目标-具体规则和目标:具体规则和目标:1.局部自治局部自治2.不依赖于中心节点不依赖于中心节点3.不间断的处理不间断的处理4.位置独立性位置独立性5.分片独立性分片独立性6.副本独立性副本独立性7.分布式查询处理分布式查询处理8.分布
23、式事务管理分布式事务管理9.硬件独立性硬件独立性10.操作系统独立性操作系统独立性11.网络独立性网络独立性12.DBMS独立性独立性在给定节点上的所有操作都是由所在节点控制的。本地数据的所有权和管理权在本地,由本地全权负责。所有的节点平等对待,不依赖中心“主”节点提供集中的查询处理、集中的事务管理,或集中的名字服务等。高可靠性,高可用性用户不需要了解数据实际存储的位置,就如同数据都存储在他所在的本地节点一样地对数据进行操作。用户应该可以从逻辑的观点出发进行操作,就如同数据实际上并没有分片一样。用户可以从逻辑的高度对数据进行操作,就如同根本没有副本的存在一样。DistributedDBSUni
24、versityofShanghaiforScienceandTechnologyPage1.35DBMS+全局应用DDBMS全局用户局部用户DBMS+全局应用DDBMSDBMS+全局应用DDBMS通讯网络用户全局用户局部用户局部用户用户全局用户DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.36分类方法分类方法按管理系统性质按控制方式-集中式与分布式分类按重复程度分类DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.37按管理系统性质分类按管
25、理系统性质分类说法一同构型-指所有节点的局部数据库管理系统运行在相同的平台上,而且每个局部数据库管理系统都相同。异构型说法二同质型异质型(同构指数据模型)DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.38同质同质(构构)型型各节点之间通过通信网络形成统一的整体。同构型的DDBMS对于并发控制、冗余数据的一致性等问题容易处理,但建库的代价比较高。同构型分布数据库系统的例于有美国IBM公司的R*系统CCA公司的SDD-l系统和德国斯图加特大学的POREL系统等。DistributedDBSUniversityofSha
26、nghaiforScienceandTechnologyPage1.39异质异质(构构)型系统型系统是指分布环境中各节点上的数据模型和数据语言都可能不同。一般的异质型系统是自底向上设计的,即把已有的不同模型的数据库联合在一起,在不同节点上的数据模型和数据语言是不同的。这样,异构比同构型系统实现起来要困难一些,为了在两个节点上的局部DBMS之间进行信息交换,就要对数据模式和数据语言进行转换和映射工作。DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.40按控制方式按控制方式-集中式与分布式分类集中式与分布式分类所谓集中控
27、制的DDBMS是指所有控制事务和全局数据字典都由一台叫做中心计算机的节点进行管理。分布式控制的DDBMSDistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.41按重复程度分类按重复程度分类部分重复式-是指每个节点都存贮DB数据实体的任意子集。部分重复式又称混合式,例如美国的SDD-1系统等。完全重复式-是指每个节点都存贮整个DB数据实体的副本。也有文献把完全重复式称为复制式。DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.42分布式数据存储在分
28、布式数据库中存储关系在分布式数据库中存储关系r r的几种方法:的几种方法:数据复制数据复制数据分片数据分片数据复制与分片数据复制与分片不复制也不分片不复制也不分片DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.43分布式数据存储数据复制数据复制系统维护关系系统维护关系r的几个完全相同的副本(拷贝),的几个完全相同的副本(拷贝),各个副本存储在不同的节点上。各个副本存储在不同的节点上。全复制:系统中的每个节点都存有关系全复制:系统中的每个节点都存有关系r r的一个拷的一个拷贝。贝。主副本:指定关系主副本:指定关系r r
29、的多个副本中的一个作为主副的多个副本中的一个作为主副本,从而简化副本管理。本,从而简化副本管理。DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.44分布式数据存储数据复制的优缺点:数据复制的优缺点:可用性增强:当包含关系可用性增强:当包含关系r r的节点之一发生故障时,的节点之一发生故障时,关系关系r r可以在另外的节点上找到。可以在另外的节点上找到。并行度增大:几个节点就可以并行地处理涉及关系并行度增大:几个节点就可以并行地处理涉及关系r r的查询。并可以减少数据在节点间的移动。的查询。并可以减少数据在节点间的移动
30、。更新开销增大:对关系更新开销增大:对关系r r的更新必须传播到包含的更新必须传播到包含r r的副的副本的所有节点。本的所有节点。DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.45分布式数据存储数据分片数据分片将关系将关系r r划分为多个片段划分为多个片段r r1 1,r r2 2,r rn n。这些片。这些片段中包含足够的信息,使得能够重构原始关系段中包含足够的信息,使得能够重构原始关系r r水平分片:水平分片:将关系将关系r r划分为多个子集划分为多个子集r r1 1,r r2 2,r rn n。r r的每个元
31、组必须至少属于一个片段。的每个元组必须至少属于一个片段。垂直分片:将关系垂直分片:将关系r(R R)投影到)投影到R R的属性的多个子集的属性的多个子集R R1 1,R R2 2,R Rn n。为保证关系为保证关系r r能被重构需要在每个能被重构需要在每个R Ri i中都包含中都包含R R的主码属性,或特殊的的主码属性,或特殊的tuple-idtuple-id属性属性混合分片:在水平分片或垂直分片的结果上再进行垂混合分片:在水平分片或垂直分片的结果上再进行垂直分片或水平分片。直分片或水平分片。DistributedDBSUniversityofShanghaiforScienceandTech
32、nologyPage1.46分布式数据存储数据复制与分片数据复制与分片将数据复制和数据分片技术连续地作用于同一个将数据复制和数据分片技术连续地作用于同一个关系,片段可以被复制,片段的副本也可以进关系,片段可以被复制,片段的副本也可以进一步分片,等等。一步分片,等等。不复制也不分片不复制也不分片对关系对关系r r不进行分片,并且只在一个节点上存储关不进行分片,并且只在一个节点上存储关系系r r。DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.47独立性和透明性独立性和透明性独立性逻辑独立性物理独立性分布独立性(新增)透明性分片透明性高级位置透明性(分配透明性)局部数据透明性低级DistributedDBSUniversityofShanghaiforScienceandTechnologyPage1.48思考思考真正理解了什么是透明性了吗?以你所知,当前的各类DBMS,对DDBS的支持如何?