第八章数据库系统体系结构_第1页
第八章数据库系统体系结构_第2页
第八章数据库系统体系结构_第3页
第八章数据库系统体系结构_第4页
第八章数据库系统体系结构_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章数据库系统体系结构,第八章 数据库系统 的体系结构,概要:随着计算机硬、软件技术的发展和数据库应用需求的迅速增长,再加上数据库系统的运行环境不断变化,数据库系统体系结构研究和应用不断取得新的进展。客户机/服务器和分布式数据库体系结构是当前网络环境中最常见的两种数据库体系结构。,第八章数据库系统体系结构,8.1 客户机/服务器系统8.1.1 客户机/服务器的基本概念,C/S系统的主要特点是把DBMS功能和应用处理的功能分开。网络中一些站点上的计算机专门用于执行DBMS的功能,称为数据库服务器(Database Server);另一些站点上的计算机专门处理用户的应用程序,称为客户机(Clie

2、nt)。通常在客户机上安装DBMS的应用开发工具,实现用户界面和前端处理任务。C/S结构取其英文缩写,简称为C/S结构。,第八章数据库系统体系结构,DB,数据库服务器,客户机3,客户机2,客户机1,局域网,第八章数据库系统体系结构,C/S系统软件将原来运行在大中型、超小型机上的软件进行合理的划分,在客户机与服务器之间进行合理分配。设计良好的C/S系统应当使系统中每一个组成部分分配最恰当的工作任务,配置合适的软件模块,使所有客户机、服务器协调工作,充分发挥作用。 C/S系统必须使用户透明地存取数据,即用户不必知道各种资源在网上的逻辑位置和物理位置。,第八章数据库系统体系结构,客户机(Client

3、)/服务器(Server)结构,简称C/S结构。,第八章数据库系统体系结构,在C/S结构中,数据库服务器为多个客户机管理数据库,完成DBMS的核心功能。数据库服务器还将实施完整性检查,维护数据库的其它附加数据,实施安全性检查、并发控制和查询优化等功能。 客户机发送请求并处理从服务器接受的数据,完成数据处理、数据表示、用户接口等功能。,客户机向数据库服务器发出对数据的服务请求,数据库服务器响应数据请求,由系统中最适宜完成任务的数据库服务器响应数据请求并将处理结果和执行状态返回客户机。,第八章数据库系统体系结构,计算机A,计算机B,计算机C,计算机D,示例: 某公司开发了 一个基于C/S结构 信息

4、管理系统,公 司的所有信息存储 在一个数据库中, 各个部门的计算机 通过局域网访问数 据库,实现本部门 的业务处理,如图 所示。,第八章数据库系统体系结构,计算机A是一个客户机,计算机A上安装VisualBasic(简称VB)开发工具,根据每个部门业务的需要,开发了一些查询、报表、输入输出窗口、汇总等应用程序,通过VB程序连接数据库,完成复杂的业务处理。,第八章数据库系统体系结构,计算机B上安装SQL Server 2000 的客户端组件,该部门可以利用SQL Server 的查询分析器运行SQL命令 (SQL程序),完成数据处理任务。,第八章数据库系统体系结构,计算机C上安装VB和SQL S

5、erver 2000的客户端组件,该部门可以利用SQL Server 的查询分析器运行SQL命令(SQL程序),完成数据处理任务,也可以利用VB开发的应用程序完成业务处理;,第八章数据库系统体系结构,计算机D是数据库服务器,安装MS SQL Server,创建和管理公司数据库,服务器上开发一些数据库管理程序。 这是一个简单的客户机/服务器结构,是典型的企业信息系统的开发模式。,第八章数据库系统体系结构,8.1 C/S 系统8.1.2 C/S系统的工作模式,1. 客户机的主要任务 管理用户界面 接受用户的数据和处理请求 处理应用程序 产生对数据库的请求 向服务器发出请求 接受服务器返回的结果 按

6、用户需要输出结果,2. 服务器的主要任务 接受客户机的数据请求 处理对数据库的请求 将处理结果传给客户机 进行数据完整性检查 并发控制、安全性检查 维护数据字典、索引和其它附加数据 处理数据库恢复 查询/更新的优化处理,第八章数据库系统体系结构,8.1 C/S 系统8.1.3 C/S 体系结构的组成,客户平台,连接平台,服务器平台,第八章数据库系统体系结构,(1)服务器平台 服务器按硬件性能可分为大型机服务器、小型机服务器、工作站服务器和PC机服务器等。在C/S计算模式中,对于大型的网络环境,可以选用大型计算机作为服务器,充分利用大型机强大的信息处理能力。对于企业级网络,可选用小型机作为服务器

7、。随着高档PC的性能不断提高,价格不断下降,在局域网中广泛应用PC机作为服务器。服务器上运行的网络操作系统可以是UNIX、Windows NT、Windows2000等。在服务器上安装能够支持C/S系统的DBMS软件。例如,Microsoft SQL Server、Oracle、Sybase、DB2等数据库系统软件。,第八章数据库系统体系结构,(2) 客户平台 从理论上讲,客户平台的硬件配置可以是大型机、中型机、小型机或微型机。但由于价格因素,绝大多数客户机选用PC计算机。客户机上运行的操作系统可以是DOS、Windows、UNIX等。客户机上应该安装开发工具软件,例如PowerBuilder

8、、VisualBasic、Developer 2000、Delphi、Microsoft SQL Server客户端组件等。这些工具都具有友好的用户界面和高效的应用开发功能,提供用户应用程序的开发和运行环境。,第八章数据库系统体系结构,(3)连接支持 连接支持处于客户与服务器之间,负责透明地连接客户与服务器,完成网络通讯功能。,第八章数据库系统体系结构,8.1 C/S系统8.1.3 C/S体系结构,C/S结构中,服务器负责提供数据、文件管理、打印、通讯接口等标准服务。客户机运行前端应用程序,提供应用开发工具,同时还可以通过网络获得服务器的服务,使用服务器上的共享资源。这些计算机通过网络连接成为

9、一个互相协作的系统。客户机与服务器协调处理、共同分担应用处理任务,把用户接口、事务处理、数据管理等功能恰当地进行划分。,第八章数据库系统体系结构,8.2 C/S系统的应用架构 8.2.1 C/S数据库系统应用系统,数据库应用系统包括:,第八章数据库系统体系结构,数据存储层就是完成对数据的各种管理和维护操作,这个层次的任务一般由数据库系统完成;,数据存储层,第八章数据库系统体系结构,业务处理层就是用户需要处理的各种各样的业务操作,这个层次的任务通常是使用某种程序设计编程实现;,业务处理层,第八章数据库系统体系结构,界面表示层是数据库应用系统提供给用户的可视化操作界面,供用户以交互的方式提出请求和

10、接受回答计算机用户界面。,界面表示层,第八章数据库系统体系结构,8.2 C/S系统应用架构 8.2.2 C/S系统应用架构含义,数据库应用架构就是指数据库应用系统中数据存储层、业务处理层和界面表示层以及网络通讯之间的布局和分布。,第八章数据库系统体系结构,8.2 C/S系统应用架构 8.2.3 两层C/S应用架构,这种应用架构一端是客户机,另一端是服务器。在这种架构中,数据存储层工作由数据库服务器完成;虽然,某些业务处理所涉及的数据库操作可以通过服务器上的存储过程或触发器来实现,但业务处理层的主要任务和界面表示层的任务是由客户机完成。,第八章数据库系统体系结构,8.2 C/S系统应用架构8.2

11、.3 两层C/S 应用架构,C/S 两层应用架构,数据存储层,业务处理层 界面表示层,第八章数据库系统体系结构,8.2 C/S系统应用架构8.2.4 两层C/S 应用架构的优点,1.应用程序的处理任务分解和分布,由多个CPU并行处理分工完成,所以整个系统具有较好的性能; 2.服务器返回给客户机的只是查询的结果,所以数据通讯量较小,降低通讯成本。,第八章数据库系统体系结构,缺点: 主要业务处理和界面表示程序是在客户机上实现,在客户机上必须安装应用程序和开发工具,包括公共程序,所以,使客户端过于庞大、负载太重,且用户维护应用程序的难度和工作量也加大。,8.2 C/S系统应用架构8.2.4 两层C/

12、S 应用架构缺点,第八章数据库系统体系结构,8.2 C/S系统应用架构8.2.4 两层C/S 应用架构局限,局限性:这种应用架构只适用于并发用户少于100个、一个数据源、基于局域网和安全性要求不高的系统。因为,如果网络扩大和事务处理量增加,超过一定的限度,这种结构将会出现下列问题。,第八章数据库系统体系结构,(1)数据库并发连接 客户机访问数据库之前,必须与数据库建立连接,且建立连接之后,一般客户机会长期保持所建立的连接。若在几百个或更多客户机的情况下,则数据库的并发连接就相当可观了,因为每个连接都要耗费系统的一定的资源。假设每个连接所占用的内存以1MB来计算,则1000个客户机至少要占用服务

13、器1GB的内存,而且这些内存的利用率非常低(5%左右)。,第八章数据库系统体系结构,(2)数据库的瓶颈效应 在整个系统中,所有数据操作都必须通过数据库实现,所以数据库服务器是最繁忙、最先成为瓶颈的地方。在两层结构中,增加客户机将增加服务器的负担。尽管可以通过增加CPU和内存,提高服务器的能力,但这种改善也是有限的。,第八章数据库系统体系结构,(3)远程连接较困难 如果客户机与服务器不在同一个比较高速的网络上,需要通过广域网或拨号线路来实现连接,则数据库服务器与客户机之间通讯的可靠性就很差。,第八章数据库系统体系结构,8.2 C/S系统应用架构8.2.5 三层C/S应用架构,在三层C/S应用架构

14、中,数据库服务器完成数据存储层任务,应用服务器上完成业务处理层任务,客户机仅仅完成接受用户输入信息和显示数据实现界面表示层任务,,第八章数据库系统体系结构,图8.3三层C/S结构,第八章数据库系统体系结构,在三层C/S应用架构中,用户界面、应用逻辑和数据管理之间彻底分离,彼此独立,每一层都支持应用程序中一个独立的部分。任何一层的改变都不会影响其它层的功能。只要保持与客户端表示层的接口不变,修改数据库模式甚至更换数据库平台,都不会影响表示层。同样,当业务逻辑发生变化,需要增加或更新应用服务器上的事务时,只要保持与表示层的接口不变,就不必更新客户机上的程序代码。,第八章数据库系统体系结构,这种应用

15、架构,使软件的维护和升级仅限于在服务器端进行,使各层的开发任务相互独立,例如,在客户机上开发表示层的用户界面时,只涉及界面设计以及与业务处理层的接口设计,不涉及数据库操作;业务处理层的开发任务,将实现用户界面与数据库的衔接,完成业务逻辑设计,且所有用户可以共享业务处理程序。另外,客户机只需要发出应用程序服务的请求,不需要直接连接数据库,由应用服务器与数据库建立一定的连接。,第八章数据库系统体系结构,8.2C/S系统应用架构8.2.5 三层C/S应用架构的优点,三层应用结构简化了数据库应用系统的开发过程,降低了系统的维护成本,而且更容易扩充。这种架构适合处理大容量的数据和复杂的业务处理逻辑。,第

16、八章数据库系统体系结构,8.3 浏览器/服务器应用架构 8.3.1 B/S架构的组成,随着Internet技术的迅猛发展,数据库应用架构也随之变化,即由C/S应用架构向浏览器/服务器应用架构转变。 这种应用架构下,数据存储层在数据库服务器上完成;业务处理层在Web服务器上实现;界面表示层通过简单的浏览器来实现。,第八章数据库系统体系结构,B/S 架构的组成,第八章数据库系统体系结构,图8.5 B/S体系结构,第八章数据库系统体系结构,在B/S系统中,用户通过URL与Web服务器建立连接,浏览器将用户请求信息以HTML文件方式发送给Web服务器;Web服务器根据请求,分析出需要数据库服务器执行的

17、查询,提交数据库服务器,然后,数据库服务器把查询结果反馈给Web服务器,由Web服务器把结果翻译成HTML文件传送给提出请求的浏览器。这种浏览器(Browser)与服务器(Server)的结构,简称为B/S结构。B/S是C/S结构的继承和发展。,第八章数据库系统体系结构,B/S架构使客户端和应用服务器、应用服务器和数据库服务器之间的通讯、数据交换都可以通过中间件或相关应用程序来实现。客户端无须安装其他软件,不需要对客户端进行任何开发和维护操作;而应用程序的设 计、维护和更新工作在Web服务器上进行,进一步减少系统管理和维护的工作量。,8.3 B/S 系统 8.3.2 B/S 应用架构的特点,第

18、八章数据库系统体系结构,Web服务器采用的HTTP协议就是一种无连接的协议,浏览器只有在请求时才与Web服务器连接,获得结果后立刻断开连接。只有采取这种无连接模式,才有可能同时为几百、几万甚至更多的并发请求服务。,8.3 B/S 系统8.3.2 B/S应用架构的特点,第八章数据库系统体系结构,8.2 B/S 系统8.2.2 四层B/S应用架构,B/S四层架构是将业务处理层继续分割为Web服务器和应用服务器,Web服务器处理复杂的界面表示层(动态网页),应用服务器专门处理应用逻辑程序。这种应用架构将动态网页设计与应用逻辑设计分成两个独立开发的过程,进一步降低系统开发与维护的成本。有一些大型的We

19、b数据库应用系统采用这种应用架构。,第八章数据库系统体系结构,第八章数据库系统体系结构,8.4 网络服务器,在客户机/服务器网络环境中,客户请求服务,服务器处理和提供服务。服务可以是数据库服务、文件服务、检索服务和其它各种各样应用服务等。从网络所提供的应用服务可将服务器划分为:数据库服务器、文件服务器、Web服务器、电子邮件服务器和应用软件服务器等。,第八章数据库系统体系结构,8.4 网络服务器的类型 8.4.1 数据库服务器,数据库服务器是网络中最重要的组成部分,客户通过网络查询数据库服务器中的数据,数据库服务器处理客户的SQL查询请求。,第八章数据库系统体系结构,8.4 网络服务器 8.4

20、.2 文件服务器,文件服务器仿真大中型机对文件共享的管理机制,实现对用户口令、合法身份、存取权限的检查。通过网络,客户能将文件服务器中的共享文件下载到自己的计算机中,也能将自己的文件上载到文件服务器中。在Internet中,文件传输协议(FTP)就是专门提供文件服务的。,第八章数据库系统体系结构,8.4 网络服务器 8.4.3 Web服务器,Web服务器广泛应用于Internet/ Intranet网络中。B/S网络计算模式如图8.5所示,用户可以通过浏览器以网页的形式浏览Web服务器上的信息(文字、图象、视频、音频等)。B/S体系结构使企业信息管理系统的开发工作更加简化,大大降低系统的成本,

21、提高系统规模的伸缩性和运行效率,安全保密控制更灵活。,第八章数据库系统体系结构,8.4 网络服务器 8.4.4 电子邮件文件服务器,电子邮件是世界上使用最为广泛的Internet服务,据统计目前每天约有3000万人在发送电子邮件,使用电子邮件服务器,客户能够更有效地交流信息。,第八章数据库系统体系结构,8.4 网络服务器 8.4.5 应用服务器,有各种不同的应用服务器。例如: 视频服务器-提供视频点播(VOD)服务 音频服务器-提供音频点播(AOD)服务 CAD服务器-提供计算机辅助设计服务 在实际的系统中,各种类型的服务器都可能共存,以便为客户的不同类型服务请求提供有效的服务,提高系统的效率

22、和服务质量。,第八章数据库系统体系结构,8.5 C/S系统主要技术指标,一个服务器可以同时为多个客户机提供服务,即可能同时会有两个以上客户机发出数据库处理的请求。服务器必须具有对多用户共享资源的协调能力。这就意味着服务器必须具备并发控制、封锁、避免死锁等问题的能力。 客户机/服务器系统应该向客户提供服务器位置透明性服务。所谓“透明性”是指某一种实际存在的事物具有看来好象不存在的性质。地址透明意味着用户不必知道服务器的位置,就可以请求服务器的服务。,第八章数据库系统体系结构,3.客户和服务器之间是通过报文交换来实现“服务请求/服务响应”的传递。服务器能自动根据客户服务请求报文识别服务类型,并调度

23、服务所需要使用的资源。 4.客户机/服务器系统具有良好的可扩充性,可以扩大系统服务的规模、增加新的服务项目与提高服务性能。,8.5 C/S系统主要技术指标,第八章数据库系统体系结构,8.6 SQL Server2000的C/S体系结构,SQL Server2000是一种典型的基于 C/S体系结构的关系数据库管理系统。 SQL Server 2000的C/S组件体系结构如图8.6所示,由客户端组件、服务器组件和通信组件三部分组成。,第八章数据库系统体系结构,第八章数据库系统体系结构,8.6 SQL Server 2000的C/S体系结构 8.6 .1 服务器端组件,1. Microsoft SQ

24、L Server 2000服务器端主要的结构化组件主要包括两个组件: (1) SQL Server服务 (2) SQL 服务器代理。,第八章数据库系统体系结构,(1)SQL Server 服务(数据库引擎) 数据库引擎是核心部件,常称为MS SQL Server Service. 主要功能: 管理所有文件,读取数据。 接受服务请求,并执行和反馈结果。 管理存储过程和触发器的执行。 并发控制 完整性控制 安全性控制,第八章数据库系统体系结构,(2)SQL Server Agent (SQL 服务器代理) SQL Server Agent提供SQL Server的调度服务,能够自动执行DBA预先安

25、排的作业(JOB),监视SQL Server事件并根据事件触发报警或运行事先安排好的程序。,第八章数据库系统体系结构,8.6 SQL Server 2000的C/S体系结构 8.6 .2 客户端组件,Microsoft SQL Server 2000客户端组件将提供管理和访问服务器端数据的方法。主要包括: (1)企业管理器 (2)查询分析器 (3)SQL Server管理工具,第八章数据库系统体系结构,企业管理器是图形化的集成管理工具,提供了调用其他管理工具的简单途径,利用企业管理器可以实现SQL Server 2000服务器的有效配置和管理。企业管理器的主要功能如图8.7所示。企业管理器是D

26、BA主要的管理工具。,(1)企业管理器,第八章数据库系统体系结构,企业管理器的主要功能,第八章数据库系统体系结构,编辑和执行SQL语句、SQL脚本程序和存储过程的最重要的界面。它有对象浏览器、对象搜索器和可供用户自己配置的工具栏。最终用户可以利用SQL Server 的这些交互式的组件完成下列任务: 生成和执行SQL语句; 编辑SQL脚本程序,并存储在一个文件中; 分析已生成查询的执行计划; 用图形方式说明选定查询的执行计划。,(2)查询分析器,第八章数据库系统体系结构,(3)SQL Server管理工具和向导,第八章数据库系统体系结构,客户端与数据库服务器的通讯方式有四种: 客户端与数据库服

27、务器安装在同一台计算机上,利用Windows进程间通信部件; 客户端与数据库服务器安装在不同的计算机上,需要利用网络进程组件连接; 利用API应用程序接口,调用函数发送请求,获得查询结果; 通过网络通讯协议定义了两个利用网络进程通讯部件间传递数据方式。,8.6 SQL Server 2000的C/S体系结构 8.6 .3 通信组件,第八章数据库系统体系结构,安装了Microsoft SQL Server 2000软件之后,系统将自动安装各种网络库,可以利用下列2个组件,配置客户端与服务器端的通讯协议。 (1)客户端网络实用工具用于配置或验证客户端与Microsoft SQL Server 20

28、00之间网络库。例如,选择TCP/IP协议。必须保证与服务器端的网络库一致。 (2)服务器端网络实用工具用于配置服务器端的网络连接协议。,通信组件,第八章数据库系统体系结构,8.6.4 基于C/S架构数据库应用系统 的开发步骤,以Microsoft SQL Server 2000为例,说明基于C/S架构系统的基本开发步骤。,第八章数据库系统体系结构,基于C/S架构系统的基本开发步骤,第八章数据库系统体系结构,8.7 分布式数据库系统 8.7.1 分布式数据库系统概念,分布式数据库是将逻辑相关的数据库划分成几个部分,每个部分是数据库的一个片段,它们分别保存在多个物理上相互独立的站点上,这些站点之

29、间通过一个网络系统连接。,第八章数据库系统体系结构,例如,某汽车制造公司在上海、北京、广州、西安分别设置一个分公司,每个分公司有一个局部数据库系统,存储本地的汽车、零件、销售、职工、客户等数据,虽然,这四个分公司的数据库分别存储在四个城市的不同站点上,但逻辑上构成汽车公司的数据库,也就是,可以看成汽车公司数据库分成4个片段,分别存储在物理上相互独立的站点上。分公司可以处理本站点的局部事务,也可以方便地访问其他分公司的数据库,处理全局事务。这就是典型的分布式数据库系统。用户可以对本地服务器中的数据库执行某些应用,也可以对其他站点上的数据库执行某些应用(称为全局应用或分布应用),这种实现支持分布数

30、据和全局应用的系统称为分布式数据库系统。,第八章数据库系统体系结构,一个典型的分布式数据库系统,第八章数据库系统体系结构,8.7 分布式数据库系统 8.7.1 分布式数据库系统概念,在分布式数据库系统中,网络中的每个站点上具有独立处理的能力,可以执行局部应用,同时,每个站点也能通过网络通讯子系统执行全局应用。这种能够实现分布数据和全局应用的系统称为分布式数据库系统。对于用户来说,一个分布式数据库系统从逻辑上看如同集中式数据库系统一样,用户可以在任何一个场地执行全局应用。,第八章数据库系统体系结构,8.7 分布式数据库系统 8.7.2 分布式数据库系统的特点,分布式数据库系统是在集中式数据库系统

31、成熟技术的基础上发展起来的,但不是简单地把集中式数据库分散地实现,它有其独自的性质和特征。集中式数据库的许多概念和技术,如数据独立性、数据共享和减少数据冗余、并发控制、完整性、安全性等,在分布式数据库系统中都有了不同的更加丰富的含义。,第八章数据库系统体系结构,特点一 数据独立性 数据独立性是数据库方法追求的主要目标之一。在集中式数据库系统中,数据独立性包括两个方面:数据的逻辑独立性与数据的物理独立性,其含义是用户应用程序与数据的全局逻辑结构、数据的存储结构无关。 在集中式数据库中,数据独立性是通过系统的三级模式(外模式、模式、内模式)和它们之间的映象得到的。在分布式数据库中,分布透明性是由于

32、引入了新的模式和模式间的映象得到的。,第八章数据库系统体系结构,在分布式数据库系统中,数据独立性更加重要,并具有更多的内容。除了数据的逻辑独立性和物理独立性之外,还有数据分布独立性亦称分布透明性(Distribution transparency)。分布透明性是指用户或程序员在操作数据库时不必了解数据物理位置分布的细节,也不必关心重复副本(冗余数据)一致性问题,同时也不必关心局部场地上数据库是由哪一种数据模型支持的,可以像集中式数据库一样来操作物理上分布的数据库。,第八章数据库系统体系结构,特点二 集中与自治共享结合的控制方式 数据库是用户共享的资源。在集中式数据库中,为了保证数据的安全性和完

33、整性,对共享数据库的控制是集中的,并设有DBA负责监督和维护系统的正常运行。 在分布式数据库中,数据的共享有两个层次:一是局部共享,即在局部数据库中存储局部场地上各用户共享的数据,这些数据是本场地用户常用的。二是全局共享,即在分布式数据库中的各个场地也存储供其他场地的用户共享的数据,支持系统的全局应用。因此,相应的控制机构也有两个层次:集中和自治。各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。当然,不同系统集中与自治的程度不尽相同。,第八章数据库系统体系结构,特点三 适当增加数据冗余度 在分布式数据库中却希望冗余

34、数据,在不同的场地存储同一个数据的多个副本,其原因是: (1) 提高系统的可靠性、可用性。 当某一场地出现故障时,系统可以对另一个场地上相同的副本进行操作,不会因为一个场地上的故障造成整个系统的瘫痪。,第八章数据库系统体系结构,特点三 适当增加数据冗余度 (2)提高系统的性能。 系统可以选择离用户最近的数据副本进行操作,减少通讯代价,改善整个系统的通讯状况。这种数据冗余同样会导致浪费存储空间和可能引起数据不一致性的问题。存储空间问题可以随着硬件设备价格的下降得到解决。冗余副本之间的数据不一致性问题是分布式数据库系统要解决的一个突出的问题,第八章数据库系统体系结构,一般情况下,增加冗余度方便了检

35、索,提高了系统的可用性、可靠性,但不利于更新,增加了系统的代价。因此,应权衡利弊,选择优化的方案。,第八章数据库系统体系结构,特点四 全局的一致性、可串行性和可恢复性 分布式数据库中各个数据库要满足集中式数据库中的一致性、可串行性和可恢复性。除此以外还应保证数据库的全局一致性、全局事务并发操作的可串行性以及整个系统的可恢复性。全局应用要涉及两个以上结点的数据。因此,在分布式数据库系统中一个事务可能由多个不同场地上的多个操作组成。例如,在银行转帐业务,要求将一个分行某帐户上的资金转到另一个分行的某帐户上,这就需要更新两个结点上的数据库。假若全局事务在更新操作的过程中,某一个结点出现故障导致操作失

36、败,则必须能够撤消这个全局事务,保证数据库的一致性。分布式数据库系统必须在技术上解决这些问题,这些技术要比集中式数据库更加复杂。,第八章数据库系统体系结构,8.7 分布式数据库系统 8.7.3 分布式数据存储方式,在分布式数据库中,数据存储的方式有两种,其一是将关系划分成若干个片段,将片段分别存储在不同的站点上,这称为数据分片;其二是将关系(或关系的片段)的副本存储在各个站点上,这称为数据复制。,第八章数据库系统体系结构,8.7 分布式数据库系统 8.7.3 分布式数据存储方式,1. 数据的分片 在分布式数据库系统中,将关系被划分成若干片段,称为对数据库的分片。分片的方式有垂直分片、水平分片、

37、导出分片和混合分片。其中垂直和水平分片是两种基本的分片方式。,第八章数据库系统体系结构,水平分片按一定的条件对关系进行选择操作,将关系按行(水平方向)分成若干不相交的子集,每一个子集称为关系的一个片段。 垂直分片是对关系进行投影操作,将关系按列(垂直方向)分成若干子集。垂直分片的片段必须能够重构原来的全局关系,即可用连接的方法恢复原来的关系。因此,垂直分片的每个片段通常都包含关系的码。,第八章数据库系统体系结构,导出分片是水平分片的条件不是本身属性的条件,而是根据其它关系属性构成的条件进行分片的。假设有三个关系: 学生(学号,姓名,性别,班级) 课程(课号、课程名,学时) 成绩(学号,课号,分

38、数) 如果按照班级对成绩关系分片,一个班级是一个片段,这种分片的方式称为导出分片。可以用SQL语句来表达这些片段。,第八章数据库系统体系结构,混合分片是上述三种分片方式中任意两种分片方式的综合应用。例如先按水平分片得到某一片段,再对这个片段进行垂直分片。或者先按垂直分片得到某一片段,再对这个片段进行水平分片。,第八章数据库系统体系结构,例题 计算机班的成绩组成片段SC1(学号,课号,分数),由下面查询结果组成: SELECT A.学号,A.课号,A.分数 FROM 成绩 A,学生 B WHERE A.学号=B.学号 AND B.班级=计算机,第八章数据库系统体系结构,无论哪一种分片方式都必须满

39、足以下条件: 完整性一个全局关系中的数据必须完全地划分为若干片段,不允许某些数据属于全局关系,但不属于任何一个片段。 不相交性不允许一个全局关系的某些数据既属于该全局关系的某一个片段,又属于该全局关系的另一个片段(垂直分片的码属性除外)。 可重构性可以由片段重构全局关系,对于垂直分片可以用连接操作重构全局关系。对于水平分片可以用并操作重构全局关系。,第八章数据库系统体系结构,8.7 分布式数据库系统 8.7.3 分布式数据存储方式,2. 数据复制 分布式数据库系统的每一个站点上可以复制一个或多个片段,甚至所有片段。假设将一个关系水平分成4个片段(S1、S2、S3、S4),在这四个站点上片段的分

40、布情况,如图8.11所示。,第八章数据库系统体系结构,8.7 分布式数据库系统 8.7.3 分布式数据存储方式,在多个站点上复制片段,第八章数据库系统体系结构,数据复制的优缺点: 提高数据的可用性。当一个站点发生故障时,能够在另一个站点上找到副本。因此,在系统出现故障的情况下,系统仍然能够继续处理对这个数据的查询。 增加并行性。由于在多个站点上存储数据的副本,系统可以同时对这些数据进行查询,减少站点之间的数据传递。 增加更新的开销。为了保证数据多个副本的一致性,当数据更新时,必须更新在所有站点上的副本,从而导致系统更新操作的开销增大。 通常情况下,复制可以提高读操作的性能和只读事务的数据可用性,但是,更新事务的开销也会增大。,第八章数据库系统体系结构,8.7 分布式数据库系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论