1 / 47

第 9 章 分布式数据库系统

第 9 章 分布式数据库系统. 本章重要概念 (一). (1)分布计算的三种形式:处理分布,数据分布,功能分布。 (2) C/S 系统,工作模式,技术特征,体系结构,两层、三层、多层 C/S 结构。 (3) DDBS 的定义、特点、优点、缺点和分类;分布式数据存储的两种形式(分片和分配)。. 本章重要概念 (二). (4) DDB 的体系结构:六层模式,分布透明性的三个层次, DDBS 的组成, DDBMS 的功能和组成。 (5)分布式查询处理的查询代价,基于半联接的优化策略,基于联接的优化策略。 (6)分布式数据库的并发控制和恢复中出现的问题,以及处理机制。.

yagil
Download Presentation

第 9 章 分布式数据库系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第9章 分布式数据库系统

  2. 本章重要概念 (一) (1)分布计算的三种形式:处理分布,数据分布,功能分布。 (2)C/S系统,工作模式,技术特征,体系结构,两层、三层、多层C/S结构。 (3)DDBS的定义、特点、优点、缺点和分类;分布式数据存储的两种形式(分片和分配)。

  3. 本章重要概念 (二) (4)DDB的体系结构:六层模式,分布透明性的三个层次,DDBS的组成,DDBMS的功能和组成。 (5)分布式查询处理的查询代价,基于半联接的优化策略,基于联接的优化策略。 (6)分布式数据库的并发控制和恢复中出现的问题,以及处理机制。

  4. 前言 随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足:数据按实际需要已在网络上分布存储,再采用集中式处理,势必造成通信开销大;应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高;集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。在这种形势下,集中式DB的“集中计算”概念向“分布计算”概念发展。分布计算主要体现在客户机/服务器模式和分布式数据库体系结构两个方面。本章将分别介绍这两种技术。

  5. 9.1 集中计算与分布计算(一) • “集中计算”概念

  6. 9.1 集中计算与分布计算(二) • “分布计算”概念 • 处理分布 • 数据分布 • 功能分布

  7. 9.1 集中计算与分布计算(三) • 客户机/服务器系统的结构

  8. 9.2.1 C/S系统的计算模式 • C/S结构的工作模式 • C/S环境下应用成分的分布 • C/S主要技术特征

  9. 9.2.2 C/S系统的体系结构 • 服务器 • 客户机 • 中间件

  10. 9.2.3 C/S结构的演变(一) • 两层C/S结构

  11. 9.2.3 C/S结构的演变(二) • 三层C/S结构

  12. 9.2.3 C/S结构的演变(三) • 多层C/S结构

  13. 9.2.4 网络服务器的类型 • DB服务器 • 文件服务器 • 事务服务器 • 文档服务器 • Web服务器 • 电子邮件服务器 • 其他应用服务器

  14. 9.3 分布式数据库系统概述 随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩大,以分布式为主要特征的数据库系统的研究与开发受到人们的注意。分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支。分布式数据库的研究始于20世纪70年代中期。世界上第一个分布式数据库系统SDD-1是由美国计算机公司(CCA)于1979年在DEC计算机上实现。20世纪90年代以来,分布式数据库系统进入商品化应用阶段,传统的关系数据库产品均发展成以计算机网络及多任务操作系统为核心的分布式数据库产品,同时分布式数据库逐步向客户机/服务器模式发展。

  15. 9.3.1 从集中式、分散式到分布式 • 随着数据库应用的不断发展,规模的不断扩大,逐渐感觉到集中式系统也有不便之处。如大型DBS的设计和操作都比较复杂,系统显得不灵活并且安全性也较差。因此,采用将数据分散的方法,把数据库分成多个,建立在多台计算机上,这种系统称为分散式系统。在这种系统中,数据库的管理、应用程序的研制等都是分开并相互独立,它们之间不存在数据通信联系。 • 由于计算机网络通信的发展,有可能把分散在各处的数据库系统通过网络通信连接起来,这样形成的系统称为分布式数据库系统(DDBS)。DDBS兼有集中式和分散式的优点。这种系统有多台计算机组成,各计算机之间由通信网络相互连系着。

  16. 9.3.2 DDBS的定义 • 分布式系统是用通信网络连接起来的结点(亦称为“场地”)的集合,每个结点都是拥有集中式数据库的计算机系统。 • 定义9.1 DDBS是物理上分散逻辑上集中的数据库系统,系统中的数据分布存放在计算机网络的不同场地的计算机中,每一场地都有自治处理(即独立处理)能力并能完成局部应用,而每一场地也参与(至少一种)全局应用,程序通过网络通信子系统执行全局应用。 • 定义9.2 DDB是计算机网络环境中各场地上数据库的逻辑集合。 • 定义9.3 DDBMS是DDBS中的一组软件,它负责管理分布环境下逻辑集成数据的存取、一致性和完备性。

  17. 9.3.3 DDBS的特点和优缺点(一) • DDBS的基本特点 • 物理分布性:数据不是存储在一个场地上,而是存储在计算机网络的多个场地上。 • 逻辑整体性:数据物理分布在各个场地,但逻辑上是一个整体,它们被所有用户(全局用户)共享,并由一个DDBMS统一管理。 • 场地自治性:各场地上的数据由本地的DBMS管理,具有自治处理能力,完成本场地的应用(局部应用)。 • 场地之间协作性:各场地虽然具有高度的自治性,但是又相互协作构成一个整体。

  18. 9.3.3 DDBS的特点和优缺点(二) • DDBS的其他特点 • 数据独立性 • 集中与自治相结合的控制机制 • 适当增加数据冗余度 • 事务管理的分布性

  19. 9.3.3 DDBS的特点和优缺点(三) • DDBS的优点 • 具有灵活的体系结构 • 适应分布式的管理和控制机构 • 经济性能优越 • 系统的可靠性高、可用性好 • 局部应用的响应速度快 • 可扩展性好,易于集成现有的系统

  20. 9.3.3 DDBS的特点和优缺点(四) • DDBS的缺点 • 系统开销较大,主要花在通信部分 。 • 复杂的存取结构(如辅助索引、文件的链接技术),在集中式DBS中是有效存取数据的重要技术,但在分布式系统中不一定有效。 • 数据的安全性和保密性较难处理。

  21. 9.3.4 DDBS的分类 • 同构同质型DDBS:各个场地都采用同一类型的数据模型(譬如都是关系型),并且是同一型号的DBMS。 • 同构异质型DDBS:各个场地采用同一类型的数据模型,但是DBMS的型号不同,譬如DB2、ORACLE、SYBASE、SQL Server等。 • 异构型DDBS:各个场地的数据模型的型号不同,甚至类型也不同。随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据。

  22. 9.4.1 数据分片(一) • 水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。 • 垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。 • 导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。 • 混合分片:以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。

  23. 9.4.1 数据分片(二) • 完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。 • 可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。 • 不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。

  24. 9.4.2 数据分配 • 集中式:所有数据片段都安排在同一个场地上。 • 分割式:所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上。 • 全复制式:数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本。 • 混合式:这是一种介乎于分割式和全复制式之间的分配方式。

  25. 9.5 分布式数据库的体系结构

  26. 9.5.1 体系结构(一) • 全局外模式 • 全局概念模式 • 分片模式 • 分配模式 • 局部概念模式 • 局部内部式

  27. 9.5.1 体系结构(二)

  28. 9.5.1 体系结构(三) • 数据分片和数据分配概念的分离,形成了“数据分布独立型”概念。 • 数据冗余的显式控制。数据在各个场地的分配情况在分配模式中一目了然,便于系统管理。 • 局部DBMS的独立性。这个特征也称为“局部映射透明性”。此特征允许我们在不考虑局部DBMS专用数据模型的情况下,研究DDB管理的有关问题。

  29. 9.5.2 分布透明性(一)

  30. 9.5.2 分布透明性(二) • 分片透明性 • 位置透明性 • 局部数据模型透明性

  31. 9.5.3 分布式数据库管理系统 (一) • DDBS的组成框架

  32. 9.5.3 分布式数据库管理系统 (二) • 接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该要求。 • 访问网络数据字典,了解如何请求和使用其中的信息。 • 如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。 • 通信接口功能。在用户、局部DBMS和其他计算机的DBMS之间进行协调。 • 在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。这里的异构型是指各个场地的硬件、软件之间存在着差别。

  33. 9.5.3 分布式数据库管理系统 (三)

  34. 9.6.3基于半联接的优化策略(一) • 数据在网络中传输时,都是以整个关系(也可以是片段)传输,显然这是一种冗余的方法。在一个关系传输到另一场地后,并非每个数据都参与联接操作或都有用。因此,不参与联接的数据或无用的数据不必在网络中来回传输。这个思想引出了基于半联接的优化策略。 • 这个方法的基本原理是采用半联接操作,在网络中只传输参与联接的数据。

  35. 9.6.3基于半联接的优化策略(二) 假设关系R在场地1,关系S在场地2,在场地2需要获得 R⋈S的结果。如果在场地2直接计算R⋈S的值,那么需要先把关系R从场地1传输到场地2,其执行示意图见图9.16。显然,传输R的数据量较大。 可以采用半联接方法计算联接操作的值。方法如下(设R和S的公共属性为B):R⋈S =(R ⋈πB(S))⋈ S =(R ⋉ S)⋈S。等式右边的式子称为“半联接程序”。

  36. 9.6.3基于半联接的优化策略(三)

  37. 9.6.4 基于联接的优化方法(一) • 两个关系在同一场地 • 嵌套循环法:顺序扫描外层关系R,对R的每一个元组扫描内层关系S,查找在联接属性上一致的元组,把匹配的元组组合起来使之成为联接结果的一部分。这种方法要求扫描一次关系R和扫描card(R)次关系S(可见S的元组越少越好),以查找匹配的元组。 • 排序扫描法:先把两个关系按联接属性进行排序,然后按照联接属性值的顺序扫描这两个关系,使匹配的元组成为联接结果的一部分。这种方法对两个关系都只扫描了一次。但增加了排序代价。

  38. 9.6.4 基于联接的优化方法(二) • 两个关系在不同场地 • 整体传输:若有联接操作R⋈S,R为外层关系,S为内层关系。如果传送的是内层关系S,则在目的地必须把它存入一个临时关系中(因为S将被多次扫描,但传输量少)。如果传送的是外层关系R,则内层关系S可直接使用依次到来的R元组,而无需保存R(但传输量大)。 • 按需传输:只传输所需联接的元组,一次一个元组,无需临时存储器。因为每次提取都要求交换一次信息,所以传输代价较高,只有在高速局部网络中才是合理的。

  39. 9.7.1 DDB中的问题 • 数据项的多拷贝问题:由于DDB存在着冗余,有可能一个数据存储在多个场地,因此并发控制方法和恢复方法都应保证这些拷贝间的一致性。 • 单个场地的故障:当系统中一个或多个场地发生故障时,DDBMS应当继续和其他正在运行的场地一起工作。当一个场地得到恢复时,它的局部数据库必须在它与系统重连接之前保持和其他场地同步。 • 通讯网络的故障:系统必须有能力处理一个或多个连接场地的通讯故障。这个问题的极端情况是发生网络分割,即将网络分割成若干分区,每个分区内的场地可以相互通讯,而不同分区内的场地不能通讯。 • 分布式提交:如果某些场地在提交过程中发生故障时,提交用于访问存储在多个场地数据库的事务时也会产生问题。 • 分布式死锁:死锁可能会在若干场地中发生,处理死锁的技术必须要扩充以考虑这种情况。

  40. 9.7.2 基于数据项识别拷贝的分布式并发控制 • 主场地技术 • 有备份场地的主场地技术 • 主拷贝技术 • 有备份场地的主拷贝技术 • 发生故障时选择一个新的协调者场地技术

  41. 9.8.3 基于投票方法的分布式并发控制 • 在投票方法中,没有识别拷贝,而封锁请求被发送到所有包含该数据项拷贝的场地上。每个拷贝维护它自己的锁并且可以授予或拒绝封锁。如果一个请求封锁的事务被大多数的拷贝授予锁的话,它将持有该锁并告知所有的拷贝它已经获得锁。如果一个事务在给定的间隔时间段中没有获得授予它锁的大部分投票的话,它将取消它的请求并把取消决定告知所有的场地。 • 投票方法被认为是真正的分布式并发控制方法,因为决策的职责驻留在所有涉及到的场地上。经实验表明,投票方法在场地间产生的信息通信量比识别拷贝方法产生的要高。如果算法要考虑投票过程中可能的场地故障时,它就会变得很复杂了。

  42. 小 结(一) • “分布计算”概念突破了集中式DBS的框架,数据分布使系统走上分布式DB的道路,功能分布使系统走上C/S道路。这是DBS的两个发展。 • C/S系统包括一个计算机网络,通常用一个局域网连结。几乎在所有情况下,客户机都是微机;服务器有时用小型机或大型机,但多数情况下也使用微机或高档微机。应用程序在客户机上处理,DBMS和OS的数据管理分放在服务器上。

  43. 小 结(二) • C/S结构经历了从两层、三层到多层的演变过程。总的趋势是使客户机越来越“瘦”,变成浏览器;而服务器的种类越来越多,容易实现系统的组装。 • C/S系统使应用与用户更加贴近,为用户提供较好的性能和更复杂的界面。 • 分布式系统是在集中式系统的基础上发展而来的。DDB是数据库技术与网络技术结合的产物。随着计算机网络技术的飞速发展,DDBS日趋成为数据库领域的主流方向。

  44. 小 结(三) • DDB具有数据分布性和逻辑整体性的特点。DDBS能够支持涉及多个场地的全局应用。DDB的数据存储有数据分片和数据分配两种策略。 • DDB的模式结构为理解DDBS提供了一种通用的概念结构。分布透明性是DDBS追求的目标。DDBMS是负责管理分布环境下,逻辑集成数据的存取、一致性、有效性和完备性的软件系统。

  45. 小 结(四) • DDBS中数据分布在各个场地,系统中压倒一切的性能目标是尽量减少网络中传送信息的次数和传送的数据量。分布式查询中基于半联接的优化策略是常用的技术。 • 对于并发控制和恢复,DDBMS环境中会出现大量在集中式DBMS环境中碰不到的问题。分布式的并发控制有主场地方法和主拷贝方法,再辅之于备份场地技术。

  46. 小 结(五)

  47. 本章的重点篇幅 (1)两层、三层、多层C/S结构。(教材P365-367) (2)分布式数据存储:分片和分配。(教材P375-377) (3)DDB的体系结构。(教材P378的图9.10,P381的图9.12) (4)基于半联接的执行示意图。(教材P387的图9.16)

More Related