1 / 44

第 11 章 分布式数据库系统

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

makya
Download Presentation

第 11 章 分布式数据库系统

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. 第11章 分布式数据库系统

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

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

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

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

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

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

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

  9. 11.2.3 C/S结构的演变(一) • 两层C/S结构

  10. 11.2.3 C/S结构的演变(二) • 三层C/S结构

  11. 11.2.3 C/S结构的演变(三) • 多层C/S结构

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

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

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

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

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

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

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

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

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

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

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

  23. PNO PNAME BUDGET LOC 水平分片事例 PNO PNO PNO PNAME PNAME PNAME BUDGET BUDGET BUDGET LOC LOC LOC P4 Maintenance 310000 Paris P1 P2 P1 Instrumentation Database Develop. Instrumentation 135000 150000 150000 Montreal Montreal New York P2 Database Develop. 135000 New York P3 CAD/CAM 250000 New York P3 CAD/CAM 250000 New York P4 Maintenance 310000 Paris PROJ1 PROJ PROJ2 PROJ3 例: 下图所示的工程管理数据库事例中关系PROJ按工程所在地LOC属性值进行划分。其水平分片为: PROJ1=σLOC=”Montreal”(PROJ) PROJ2=σLOC=”New York”(PROJ) PROJ3=σLOC=”Paris”(PROJ) 其水平划分的分片如图所示。

  24. PNO PNAME LOC 垂直分片事例 PNO PNO PNAME BUDGET BUDGET LOC P1 Instrumentation Montreal P2 Database Develop. New York P1 P1 Instrumentation 150000 150000 Montreal P2 P2 Database Develop. 135000 135000 New York P3 CAD/CAM New York P3 250000 P4 Maintenance Paris P3 CAD/CAM 250000 New York P4 310000 P4 Maintenance 310000 Paris PROJ1 PROJ PROJ2 例:工程管理数据库事例中关系PROJ(PNO,PNAME,BUDGET,LOC)划分成两个子关系:一个包括工程预算信息,即对BUDGET属性感兴趣;一个包括工程信息,对PNAME、LOC属性感兴趣。为了保证划分后重构,可将PNO作为公共属性分别包括在这二个分片中。这样PROJ可划分为: PROJ1=ΠPNO,BUDGET(PROJ) PROJ2=ΠPNO,PNAME,LOC(PROJ) 其垂直划分的分片如图所示。

  25. 诱导分片事例 例: 工程管理数据库事例中关系PROJ按工程所在地LOC属性值进行 水平划分为: PROJ1=σLOC=”Montreal”(PROJ) PROJ2=σLOC=”New York”(PROJ) PROJ3=σLOC=”Paris”(PROJ) 则使有关联的ASG产生诱导划分,其诱导分片为: ASG1=ASG⋉PROJ1=ASG⋉σLOC=”Montreal”(PROJ) =∏ENO,PNO,DESP,DUR(ASG⋈σLOC=”Montreal”(PROJ)) = ASG⋈(∏PNO(σLOC=”Montreal”(PROJ)) 同理: ASG2=ASG⋉PROJ2=∏ENO,PNO,DESP,DUR(ASG⋈σLOC=”New York”(PROJ)) ASG3=ASG⋉PROJ2==∏ENO,PNO,DESP,DUR(ASG⋈σLOC=”Paris”(PROJ)) 其诱导划分的分片如图所示。

  26. ENO ENO PNO PNAME PNO PNO DESP DESP BUDGET DUR DUR LOC ENO PNO PNO ENO PNO PNO PNAME PNAME PNAME PNO DESP DESP DUR BUDGET BUDGET BUDGET DUR LOC LOC LOC E2 P4 E3 Maintenance P4 P2 Engineer Analyst 310000 48 6 Paris PROJ E1 P1 Manager 12 E6 E3 P3 P4 Consultant Manager 48 10 E1 P1 P2 P1 Database Develop. Instrumentation Instrumentation P1 Manager 150000 135000 150000 12 Montreal Montreal New York E2 P1 Analyst 24 E2 P2 Database Develop. P1 Analyst 135000 24 New York E4 P2 Programmer 18 P3 CAD/CAM 250000 New York E2 P2 Analyst 6 P3 CAD/CAM 250000 New York E5 P2 Manager 24 E3 P3 Consultant 10 P4 Maintenance 310000 Paris PROJ1 E7 P3 Engineer 36 ASG1 E3 P4 Engineer 48 ASG E8 P3 Manager 40 E4 P2 Programmer 18 ASG2 PROJ2 E5 P2 Manager 24 E6 P4 Manager 48 E7 P3 Engineer 36 PROJ3 E8 P3 Manager 40 ASG3

  27. PNO PNO PNO PNAME PNAME PNAME LOC LOC LOC 混合分片事例 PNO PNO PNAME BUDGET BUDGET LOC P1 P4 P2 Database Develop. Instrumentation Maintenance New York Montreal Paris 全局关系PROJ P1 P1 150000 Instrumentation 150000 Montreal P3 CAD/CAM New York P2 P2 135000 Database Develop. 135000 New York P3 250000 P3 CAD/CAM 250000 New York P4 310000 P4 Maintenance 310000 Paris (b)后水平分片 (a)先垂直分片 PROJ2 PROJ1 PROJ3 PROJ4

  28. 混合分片重构 ∪ R H H ⋈ ⋈ R2 R1 V V V V V R22 R11 R12 R21 R23 R22 R11 R12 R21 R23 关系R的混合分片 关系R的重构

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

  30. 11.5 分布式数据库的体系结构

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

  32. 11.5.1 体系结构(二)

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

  34. 11.5.2 分布透明性(一)

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

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

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

  38. 11.5.3 分布式数据库管理系统 (三)

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

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

  41. 11.5.4基于半联接的优化策略(三) ⋈ ⋈ ⋈ ⋈

  42. 本章小结(一) • “分布计算”概念突破了集中式DBS的框架,数据分布使系统走上分布式DB的道路,功能分布使系统走上C/S道路。这是DBS的两个发展。 • C/S系统包括一个计算机网络,通常用一个局域网连结。几乎在所有情况下,客户机都是微机;服务器有时用小型机或大型机,但多数情况下也使用微机或高档微机。应用程序在客户机上处理,DBMS和OS的数据管理分放在服务器上。 • 分布式系统是在集中式系统的基础上发展而来的。DDB是数据库技术与网络技术结合的产物。随着计算机网络技术的飞速发展,DDBS日趋成为数据库领域的主流方向。

  43. 本章小结(二) • DDB具有数据分布性和逻辑整体性的特点。DDBS能够支持涉及多个场地的全局应用。DDB的数据存储有数据分片和数据分配两种策略。 • DDB的模式结构为理解DDBS提供了一种通用的概念结构。分布透明性是DDBS追求的目标。DDBMS是负责管理分布环境下,逻辑集成数据的存取、一致性、有效性和完备性的软件系统。 • DDBS中数据分布在各个场地,系统中压倒一切的性能目标是尽量减少网络中传送信息的次数和传送的数据量。分布式查询中基于半联接的优化策略是常用的技术。

  44. 小 结(三)

More Related