1 / 41

第 10 章 分布式数据库

第 10 章 分布式数据库. 10.1 分布式数据库系统的基本概念 10.2 分布式数据库系统的特点 10.3 分布式数据库系统的体系结构 10.4 分布式数据库管理系统. 10.1 分布式数据库系统的基本概念. 10.1.1 集中式数据库系统 10.1.2 分布式数据库系统. 10.1.1 集中式数据库系统. 集中式数据库系统将所有数据集中存储到一台计算机上,由主机上的数据库管理系统统一管理整个数据库,用户可从终端上发出数据操作命令,经主机上的数据库管理系统接收处理后,将结果数据返回给用户。

caspar
Download Presentation

第 10 章 分布式数据库

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. 第10章 分布式数据库 • 10.1 分布式数据库系统的基本概念 • 10.2 分布式数据库系统的特点 • 10.3 分布式数据库系统的体系结构 • 10.4 分布式数据库管理系统

  2. 10.1 分布式数据库系统的基本概念 • 10.1.1 集中式数据库系统 • 10.1.2 分布式数据库系统

  3. 10.1.1 集中式数据库系统 • 集中式数据库系统将所有数据集中存储到一台计算机上,由主机上的数据库管理系统统一管理整个数据库,用户可从终端上发出数据操作命令,经主机上的数据库管理系统接收处理后,将结果数据返回给用户。 • 集中式数据库系统中具有数据集中管理、冗余度低、应用程序和数据库的数据结构相对独立、数据恢复能力强等优点。

  4. 10.1.2 分布式数据库系统 • 1.分布式数据库系统(DDBS) • 分布式数据库系统是物理上分散逻辑上集中的数据库系统,系统中的数据分布存放在计算机网络的不同场地,每一场地都有自治处理即独立处理能力并能完成局部应用,同时每一场地也至少参与一种全局应用,程序通过网络通信子系统执行全局应用。这里的场地亦即结点,是指计算机网络中的一台计算机。

  5. 场地3 场地2 场地1 DDBMS DDBMS DDBMS 网络 图10.1 DDBS示意图 10.1.2 分布式数据库系统 • DDBS有两个重要的组成部分:分布式数据库(DDB)和分布式数据库管理系统(DDBMS)。图10.1为一个DDBS示意图:

  6. 10.1.2 分布式数据库系统 • 2.分布式数据库 • DDB是计算机网络环境中各场地上数据库的逻辑集合,也就是说,DDB是一组结构化的数据集合,逻辑上属于同一系统,物理上却分布在计算机网络的各个不同场地。DDB具有数据分布性和逻辑整体性两个特点。

  7. 10.1.2 分布式数据库系统 • 3.分布式数据库管理系统 • DDBMS是实现分布式数据处理的一种典型数据库管理软件,用于支持分布式数据库的创建、运行、管理和维护。它能对分布于各个场地的软、硬件资源进行统一管理和控制,使其在逻辑上可视为一个整体的数据库系统,并为用户提供与分布式数据的接口。同时,由于数据的分布性,在管理机制上还必须具有计算机网络通信协议的分布管理特性。

  8. 10.2 分布式数据库系统的特点 • 10.2.1 分布式数据库系统的特点 • 10.2.2 分布式数据库系统的优缺点

  9. 10.2.1 分布式数据库系统的特点 • 分布式数据库系统具有以下特点: • 数据的物理分布性 • 数据的逻辑整体性 • 数据的分布独立性 • 场地自治性 • 场地之间的协调性 • 数据冗余及冗余透明性 • 事务管理的分布性

  10. 10.2.2 分布式数据库系统的优缺点 • 1.分布式数据库系统的优点 • DDBS的上述特点决定它具有以下优点: • (1)灵活的体系结构。 • 集中式数据库系统强调的是集中式控制,而DDBS更多地强调各个场地局部DBMS的自治性,大部分的局部事务管理和控制就地解决,只有涉及其它场地数据时才通过网络作为全局事务处理。DDBMS可以设计成不同程度的自治性,从具有充分的场地自治性到几乎完全的集中式控制。

  11. 10.2.2 分布式数据库系统的优缺点 • (2)数据共享。 • DDBS中的数据共享有两个层次:局部共享和全局共享。即各场地的用户可共享本场地局部数据库中的数据;全体用户可共享网络中所有局部数据库中的数据。 • (3)可靠性高、可用性好。 • 由于存在冗余数据,个别场地或个别链路的故障不会导致整个系统的崩溃。同时,系统可自动检测故障所在,并利用冗余数据恢复出故障的场地,这种检测和修复是在联机状态下完成的。

  12. 10.2.2 分布式数据库系统的优缺点 • (4)性能得到改善。 • 局部应用只访问本地数据库,系统响应快、通信开销小;由于冗余数据的存在,系统可选择离用户最近的数据副本进行操作,也缩短了响应时间和减少了通信开销;每个场地只处理整个数据库的一部分,因此CPU和I/O争用也不如集中式数据库激烈;由于一个事务所涉及的数据可能分布在多个场地,因此增加了并行处理事务的可能性。

  13. 10.2.2 分布式数据库系统的优缺点 • (5)可扩充性好。 • 当增加新的应用时,可在新系统中增加新的结点而不影响现有系统的结构和系统的正常运行,而且这种扩充不受结点计算机存储容量和处理能力的限制。 • (6)提高资源利用率。 • 当一个组织需要利用已有的几个数据库开发全局应用时,可以将这些数据库联合起来建立分布式数据库,而不必重新开发新的数据库系统,减少了开发费用,提高了资源利用率。

  14. 10.2.2 分布式数据库系统的优缺点 • 2.分布式数据库系统的缺点 • 在存在上述优点的同时,DDBS也存在以下缺点: • (1)复杂。 • 与集中式数据库系统相比,DDBS更复杂,为保证各场地之间的协调必须做很多额外的工作 。 • (2)系统开销大。 • 系统开销主要包括硬件开销、通信开销、数据冗余的潜在开销,以及为保证数据库全局并行性、并行操作的可串行性、安全性和完整性等的开销 。

  15. 10.2.2 分布式数据库系统的优缺点 • (3)数据安全性和保密性较难处理。 • 每个场地的数据安全不能保证全局的数据是安全的,安全性问题是分布式系统的固有问题。分布式系统是通过网络实现分布控制的,而通信网络本身在保证数据安全方面存在弱点,数据很容易被窃取 。

  16. 10.3 分布式数据库系统的体系结构 • 10.3.1 分布式数据库系统体系结构 • 10.3.2 数据分片 • 10.3.3 分布透明性

  17. 全局外模式 全局外模式 全局外模式 映像1 全局概念模式 映像2 全局 DBMS 全局数据模式 分片模式 映像3 分配模式 映像4 局部外模式 局部外模式 局部外模式 局部外模式 局部概念模式 局部概念模式 局部数据模式 局部内模式 局部内模式 局部 DBMS 局部 数据库 局部 数据库 图10.2 DDBS的体系结构 10.3.1 分布式数据库系统体系结构 • 分布式数据库系统的体系结构则是:(n个)局部数据模式 + (1个)全局数据模式。如图10.2所示:

  18. 10.3.1 分布式数据库系统体系结构 • 由图10.2可见,一个分布式数据库系统包含全局外模式、全局概念模式、分片模式、分配模式、局部概念模式、局部内模式等层次,各模式之间有相应的映像定义。 • 1.全局外模式 • 全局外模式(Global External Schema)由全局用户视图组成,是全局概念模式的子集。 • 2.全局概念模式 • 全局概念模式(Global Conceptual Schema)定义分布式数据库系统中所有数据的整体逻辑结构,是全局应用的公共数据视图。

  19. 10.3.1 分布式数据库系统体系结构 • 3.分片模式 • 分片模式(Fragmentation Schema)是全局数据整体逻辑结构分割后的局部逻辑结构,是DDBS的全局数据的逻辑划分视图。 • 4.分配模式 • 分配模式(Allocation Schema)用于根据选定的数据总体分配方案,定义各片段的物理存放地点 。

  20. 10.3.1 分布式数据库系统体系结构 • 目前常用的数据总体分配方案有: • (1)划分式(Partitioned)每个片段只分配到某一个场地上,片段没有副本。 • (2)全副本式(Fully Replicated)每一场地都拥有所有片段的副本。 • (3)部分重复式(Partially Replicated)部分片段冗余分配,是目前最常用的分配方案。

  21. 10.3.1 分布式数据库系统体系结构 • 5.局部概念模式 • 局部概念模式(Local Conceptual Schema)是全局概念模式被分片和分配到局部场地上的映像的逻辑结构及特征的描述,是全局概念模式的子集。其逻辑结构与局部DBMS所支持的数据模型有关,当全局数据模型与局部数据模型不同时,局部概念模式还应包括数据模型转换的描述。 • 6.局部内模式 • 局部内模式(Local Internal Schema)描述局部概念模式涉及的数据在局部DBMS中的物理结构及物理存储细节,完全与非分布式系统相同。

  22. 10.3.1 分布式数据库系统体系结构 • 7.映像 • 上述各层模式之间的联系和转换是由各层模式间的映像实现的。DDBS中除保留集中式数据库中的(局部)外模式/(局部)概念模式映像、(局部)概念模式/(局部)内模式映像外还包括以下几种映像: • 映像1:定义全局外模式与全局概念模式之间的对应关系。

  23. 10.3.1 分布式数据库系统体系结构 • 映像2:定义全局概念模式与分片模式之间的对应关系。 • 映像3:定义分片模式与分配模式之间的对应关系,即定义片段与各场地之间的对应关系。 • 映像4:定义分配模式与局部概念模式之间的对应关系,即定义存储在局部场地的全局关系或其片段与各个局部概念模式之间的对应关系。

  24. 10.3.2 数据分片 • 1.数据分片的目的 • 数据分片将数据库整体逻辑结构分解为合适的逻辑单位——片段,然后由分配模式来定义片段及其副本在各场地的物理分布,其主要目的是提高访问的局部性,有利于按照用户的需求组织数据的分布和控制数据的冗余度。

  25. 10.3.2 数据分片 • 2.数据分片应遵循的准则 • (1)完整性。全局关系的所有数据都必须分配到各个片段中,不允许某些数据属于全局关系但不属于任何片段。 • (2)重构性。分裂后各个片段可以重构原来的全局关系。 • (3)不相交性。全局关系中的每个元组仅属于一个片段,不能在多个片段中重复出现。此规则不是必须的,因为在有冗余DDBS中数据可有多个副本。

  26. 10.3.2 数据分片 • 3.常用的数据分片方式 • (1)水平分片。水平分片把一个全局关系中的元组分裂成多个子集,每个子集为一个片段。分片条件由关系中的属性值表示。 • (2)垂直分片。垂直分片把一个全局关系按列分裂成多个子集,应满足不相交性(关键字除外)。 • (3)导出分片。导出分片也是一种水平分片,但分片的限定条件不是该关系中的属性,而是由与该关系有联系的其他关系导出的。

  27. 10.3.3 分布透明性 • 分布透明性是分布式数据库系统要实现的主要目标之一,这里的透明性是指对用户隐匿了数据的具体位置,用户不必了解数据在何处和如何得到它们。 • 分布透明性有三个层次,从高到低依次为:分片透明性、位置透明性和局部数据模型透明性。 • (1)片透明性 • 分片透明性位于全局概念模式与分片模式之间(图10.2中的映像2),是指用户只需对全局关系进行操作,不必考虑数据的分片及存储场地,其应用程序的编写与集中式数据库相同。当分片模式改变时,只需改变全局概念模式到分片模式之间的映像,而不会影响到全局概念模式和应用程序。

  28. 10.3.3 分布透明性 • (2)位置透明性 • 位置透明性位于分片模式与分配模式之间(图10.2中的映像3),是指用户不必知道数据的存储场地,即数据分配到哪个或哪些场地存储对用户是透明的。当存储场地发生变化时,只需改变分片模式到分配模式之间的映像,而不会影响分片模式、全局概念模式和应用程序。 • (3)局部数据模型透明性 • 局部数据模型透明性也称局部映像透明性,位于分配模式与局部概念模式之间(图10.2中的映像4),是指用户不用考虑局部DBMS所支持的数据模型、使用哪种数据操纵语言,但要考虑数据如何分片、片段及其副本在各场地上的分配。

  29. 10.4 分布式数据库管理系统 • 10.4.1 分布式数据库管理系统的功能 • 10.4.2 分布式数据库管理系统的组成 • 10.4.3 分布式数据库管理系统的分类

  30. 10.4.1 分布式数据库管理系统的功能 • 分布式数据库管理系统主要功能包括 : • (1)用户能够对网络上任意场地数据库的数据进行远程存取,执行全局应用 。 • (2)支持透明存取,提供一定级别的分布透明性 。 • (3)支持对分布式数据库的管理与控制 。 • (4)支持对分布式事务的并发控制和恢复 。

  31. LDB 场地1 LDBMS GDD 用户/DBA GDBMS CM 网络 场地2 场地3 图10.4 DDBMS结构图 10.4.2 分布式数据库管理系统的组成 • 图10.4为一个典型DDBMS的结构图,包括四个部分:全局数据库管理系统GDBMS(Global DBMS)、全局数据字典GDD(Global Data Dictionary)、局部数据库管理系统LDBMS(Local DBMS)、通信管理CM(Communication Management)。

  32. 10.4.2 分布式数据库管理系统的组成 • 1.全局数据库管理系统GDBMS • GDBMS是DDBMS的核心,负责提供分布透明性,协调全局事务的执行及协调各场地上的LDBMS共同完成全局应用。 GDBMS通常包括: • (1)用户接口层。提供一个用于检验用户身份的接口,用户的应用程序经用户接口处理,作为一个全局事务由DDBMS执行。 • (2)语言处理层。负责查询语言的语法、词法分析,把查询语句转换成某种内部表示形式,如用语法树表示查询。

  33. 10.4.2 分布式数据库管理系统的组成 • (3)分布式数据管理层。主要完成查询分解、优化和确定查询计划。 • (4)分布式事务管理层。用于对分布式事务进行并发控制,并提供全局恢复功能。 • (5)全局数据与局部数据之间的转换层。对异构系统,需将数据转换成系统可接受的形式。具体的转换有:数据模型的转换;数字代码格式、字长、精度、单位等的转换;操作命令、完整性规则、安全性规则的转换等。

  34. 10.4.2 分布式数据库管理系统的组成 • 2.全局数据字典GDD • GDD负责提供系统的各种描述、管理和控制信息。如为系统提供各级模式描述、网络描述、存取权限、事务优先级、完整性约束与相容性约束、数据的分割及其定义、副本数据及其所在场地、存取路径、死锁检测、预防及故障恢复,与数据库运行质量有关的统计信息等。 • 数据字典又称数据目录,是面向系统的。它由系统定义,在初始化时由系统自动生成并为系统所用。 • 由于数据是分布的,因此数据字典也存在一个分布策略及管理问题 ,数据字典中的数据与冗余也需要进行优化。

  35. 10.4.2 分布式数据库管理系统的组成 • 3.局部数据库管理系统LDBMS • LDBMS用来建立和管理各场地上的局部数据库LDB,提供场地的自治能力,可执行局部应用和全局查询的子查询 。 • 4.通信管理CM • CM遵循网络协议,实现各场地之间数据的可靠传送,完成系统的通信功能 。

  36. 10.4.3 分布式数据库管理系统的分类 • 1.按LDBMS类型分类 • (1)同构型DDBMS(Homogeneous DDBMS ) • 同构型(也称均质型)系统是指系统中每个场地的LDBMS类型都相同,即它们支持相同的数据模型、访问方法、优化策略、并发控制算法,以及相同的命令语言和查询语言等。 • (2)异构型DDBMS(Heterogeneous DDBMS) • 异构型(也称异质型)系统是指系统中每个场地可以有不同类型的LDBMS。它们可以是不同的数据模型,也可以是同一数据模型但由不同厂商提供的产品。

  37. 10.4.3 分布式数据库管理系统的分类 • 2.按全局控制方式分类 • (1)全局集中控制的DDBMS • 这种方式的GDBMS和GDD集中在一个中心场地上,由该场地完成全局事务的协调和局部数据库转换等一切控制问题。 • (2)全局控制分散的DDBMS • GDBMS和GDD分散存放在各个场地上,即每个场地都有控制信息的一个副本,都能完成全局事务的协调和局部数据库转换的控制问题。

  38. 10.4.3 分布式数据库管理系统的分类 • (3)全局控制部分分散的DDBMS • 这种方式根据应用的需要将GDBMS和GDD分散在某些场地上,即只在部分场地包含控制信息的副本,性能介于以上两种类型之间 。

  39. 10.4.3 分布式数据库管理系统的分类 • 3.按数据在逻辑上集中/分布分类: • (1)物理上分布、逻辑上集中的DDBMS • 这种方式数据库在逻辑上是集中的,用户感觉不到数据的分布,看到的似乎是一个数据模式为全局数据模式的集中式数据库。 • (2)物理上分布、逻辑上分布的DDBMS • 这种分布式数据库系统又称联邦分布式数据库系统(Federated Distributed Database Systems)。系统中每个场地所看到的数据模式是不同的,好像有多个逻辑数据库存在 。

  40. 10.4.3 分布式数据库管理系统的分类 • 4.按功能分类 • (1)综合型体系结构 • 设计一个全新的DDBMS时,设计人员可综合权衡用户需求,采用自顶向下的设计方法,设计一个完整的DDBMS,然后把系统的功能按一定的策略分散配置在一个分布式环境中,这种结构称为DDBMS 。 • (2)联合型体系结构 • 在原有DBMS基础上建立分布式DBMS,按照使用LDBMS类型的不同又分为同构型和异构型DDBMS 。

  41. 10.4.3 分布式数据库管理系统的分类 • 5.按层次分类法分类 • (1)单层结构DDBMS • 指一个分布式数据库中,在同一全局DBMS控制管理下,其数据物理分布在网络的多个场地上,每个场地不存在独立的DBMS,但可以包含全局DBMS的子部件。 • (2)多层结构DDBMS • 如果一个分布式数据库是来自一些相互连接的场地上的数据库中数据的逻辑集合,则称该系统为多层结构的DDBMS。在这种系统中,每个场地都有一个独立的DBMS,而且每个场地可以是另一个单层或多层结构的DDBMS。

More Related