已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理及应用ThePrincipleofDatabaseandapplications第十一章网络环境下的数据库系统 第11章网络环境下的数据库系统 11 1客户机 服务器系统11 2分布式数据库 网络环境下的数据库系统 通常所说的客户机 服务器系统既可指硬件系统 也可指软件系统从硬件方面来说 客户机 服务器系统是指某项任务在两台或多台之间进行分配 其中客户机 Client 用来运行提供用户接口和前端处理的应用程序 服务器 Sever 提供可供客户机使用的各种资源和服务从软件方面来说 客户机 服务器系统是指把一个软件系统或应用系统按逻辑功能分成若干个组成部分 11 1 1客户机 服务器数据库系统 客户机 服务器结构的DBMS能够很好的满足联机事务的要求 在客户机 服务器结构的数据库系统中 可以是只有一个服务器的情况 在客户服务器数据库系统中 多个服务器的情况随着企业管理模式朝着分布式的 集成化的方向发展 越来越多的系统包括了多个服务器 对多服务器的情况 可以建立分布式事务 即一个数据库事务可以更新多个服务器上的数据 11 1 2客户机 服务器数据库系统的实现 客户机 服务器数据库系统的实现采用了许多新的软件技术数据库服务器优化的各种技术客户端应用开发工具的工作模型和实现技术数据库互联技术分布数据管理技术 客户机 服务器数据库系统的实现 1 开放的数据库访问接口ODBC2 存储过程存储过程是用SQL语句和数据库编程语言编写的 完成一定数据访问功能或提供一定的服务的过程 预先进行编译和优化后 存储在服务器中 客户应用程序可以通过远程过程调用的模式调用它们 采用存储过程技术有以下优点 高性能 共享性 简化应用开发过程 简化了安全控制 客户机 服务器数据库系统的实现 3 分布数据的管理面临问题查询远程数据时的通信开销问题网络中某服务器故障时保持分布式事务一致性的问题系统的管理开销问题等 通常采用的分布数据管理技术数据复制技术两阶段提交协议 客户机 服务器数据库系统的实现 数据复制和分布客户 服务器结构的数据库系统往往提供数据复制服务 支持将某一服务器上的某些表中的数据复制和分布到其他远程数据库服务器结点上两阶段提交两阶段提交用来协调参议一个分布事务的多个服务器的活动 以防止某个服务器故障时产生数据不一致性 采用两阶段提交技术的分布式事务的提交分两个阶段进行 一个分布式事务所涉及的多个服务器中 有一个作为协调者 其余的作为参与者 11 1 3客户机 服务器数据库系统的特点 客户机 服务器数据库系统具有高性能 高效率 高可靠 开放 易扩充 可伸缩等优越的特性客户机 服务器数据库系统的特点提供数据和服务的无缝集成为联机事务处理提供高性能开放的系统结构 11 2分布式数据库 分布式数据库是用计算机网络将物理上分散的多个数据库单元连接起来组成的一个逻辑上统一的数据库 分布式数据库有一个统一的数据库管理系统来进行管理 称为分布式数据库管理系统 分布式数据库的基本特点包括 物理分布性 逻辑整体性和站点自治性 11 2 1分布式数据库的概念 分布式数据库 DistributedDataBase DDB 是计算机网络环境中各场地 Site 或结点 Node 上数据库的逻辑集合 分布性是指数据不是存放在单一场地为各计算机配置的存储设备上 而是按全局需要将数据划分成一定结构的数据子集 分散地存储在各个场地上 逻辑协调性是指各场地上的数据子集 相互间由严密的约束规则限定 而在逻辑上是一个整体 分布式数据库的概念 分布式数据库管理系统和集中式数据库管理系统一样 是数据库系统中的一组软件 负责管理分布环境下逻辑集成数据的存取 一致性 有效性 完整性等 由于分布特性 在管理机制上 还必须具有计算机网络协议上的分布管理功能 因此 分布式数据库管理系统更为复杂 11 2 2分布式数据库系统的特点 分布式数据库系统是在集中式数据库系统成熟技术的基础上发展起来的 但不是简单地把集中式数据库分散地实现 它具有自己的性质和特征数据独立性集中与自治相结合的控制结构适当增加数据冗余度事务管理的分布性 分布式数据库系统的特点 1 数据独立性含义是应用程序和实际数据的分离 即系统透明性在集中式数据库中 数据独立性包括两方面 数据的逻辑独立性和物理独立性在分布式系统中 还有数据分布独立性也称分布透明性在集中式数据库中 数据的独立性是通过系统的三级模式和它们之间的二级映像得到的 分布式数据库 分布透明性是由于引入新的模式和模式之间的映像得到的 分布式数据库系统的特点 分布式数据库系统最重要的目标之一就是支持位置透明 这就是说 用户对所需要的数据的存放位置不必关心 数据分片是分布式数据库的特性之一 这与位置透明又紧密相关 分布式数据库系统的特点 2 集中与自治相结合的控制结构在集中式数据库中 为保证数据的安全性和完整性 对数据库的控制是集中的 在分布式数据库中 数据的共享有两个层次 局部共享全局共享控制结构也具有两个层次 集中和自治 分布式数据库系统的特点 3 适当增加数据冗余度在集中式数据库中 尽量减少冗余度是系统目标之一 在分布式系统中却希望增加冗余数据 在不同的场地存储同一数据的多个副本 增加冗余会碰到集中式数据库同样的问题 即不利于更新 增加了系统维护代价 需要在这些方面做出权衡 分布式数据库系统的特点 4 事务管理的分布性分布式数据库系统的事务管理 由于数据的分布使得事务也具有了分布性 即一个事务 全局事务 的执行将划分在许多场地上执行的子事务 局部事务 子事务的执行结果合并成全局事务的结果 这样的事务即为分布事务 分布事务管理是针对全局数据的事务管理 它与集中式数据库的事务管理在处理策略上有本质的区别 在组织子事务时必须以不同的优化原则加以组织增加了实际执行中的并行处理能力 11 2 3分布式数据库系统的体系结构 1 分布式系统数据存储分布式数据存储可以从数据分配和数据分片两个角度考察 确定数据分配的策略 一般有4个主要因素要考虑 存储代价 可靠性 检索代价和更新代价 在实际应用中 数据分配有4种基本类型 集中式分割式全复制式混合式 分布式数据库系统的体系结构 可归纳出数据分配的一般规则 处理局部性 数据分配时应尽量考虑提高局部处理能力减少远程访问次数 数据的可用性和可靠性 尽量提高只读应用的可靠性和全系统的可用性 充分发挥DDB的优点 工作负载分布的均匀性 使系统各场地的负载均匀 尽量提高系统并行处理能力 分布式数据库系统的体系结构 数据分片是指数据存放单位不是全部关系 而是关系的一个片段 也就是关系的一部分 包括以下几种 水平分片垂直分片混合型分片 分布式数据库系统的体系结构 数据分片应遵循以下准则 完备性条件 必须把全局关系的所有数据映射到各个片段中 绝不允许发生属于全局关系的某个数据不属于任何一个片段 重构条件 划分所采用的方法必须确保能够由各个片段重建全局关系 不相交条件 要求一个全局关系被划分后得到的各个数据片段互相不重叠 分布式数据库系统的体系结构 2 分布式数据库系统的体系结构分布式DBS的体系结构分为四级 全局外模式它们是全局应用的用户视图 是全局概念模式的子集 全局概念模式全局概念模式描述了分布式数据库中所有数据的逻辑结构 分片模式分片模式定义片段以及定义全局关系与片段之间的映像 分配模式分配模式根据数据分配策略的选择定义片段的存放场地 11 2 4分布式查询处理 全局查询在分布式数据库系统中 数据分布对用户一般是透明的 用户向系统提出查询 不必关心所涉及的关系是否分片 有无复本 存于何处等同题 可以像集中式数据库一样 用关系而不是片段表达查询 在分布式数据库查询处理过程中 有多种可能的执行方案可供选择 存在查询优化的问题 分布式查询处理 1 分布式查询处理的传输代价对分布式数据库来说 还必须考虑数据在不同场地间的传输代价 数据量的传输费用传输的延迟时间还可以涉及传输数据的控制信息及控制次数 场地间的传输代价不仅仅体现在查询处理的策略上 还可能包括分布事务处理的管理策略 在分布式环境中 分布查询的特点使得可将查询处理分成全局查询和局部查询两个部分来考虑 分布式查询处理 2 基于半连接的查询优化策略基本思想在连接时并非每个数据都参与操作或有用 因此 不参与操作的值或无用的值不必经网络来回传输 则可以减少传输的数据量 分布式查询处理 设A为R和S的连接属性 即A Attr R Atrrr S 则R和S的连接可按下列步骤进行 1 A R 结点2 2 在结点2进行连接操作 A R S S S R 3 S S R 结点1 4 在结点1进行连接操作R S S R R S 11 2 5分布式事务处理 在分布数据库系统中 分布式事务处理的目的在于保证事务的正确执行及执行结果的有效性 主要解决系统可靠性 事务并发控制及系统资源的有效利用等问题集中式数据库系统中的事务和分布式数据库系统中的事务子事务分布式事务在执行时被分解为若干个场地上计算机相关的操作序列 11 2 5分布式事务处理 1 分布式事务特性分布式事务除了具有一般事务的特征外 还具有自己独特的特性执行特性操作特性控制报文2 分布事务处理的目标和集中式事务处理一样 分布式事务处理的目标也是追求高效 可靠 并发地执行事务 分布式事务处理 影响执行效率的因素 CPU和内存的利用率控制报文的数量及长度响应时间可用性 分布式事务处理 3 分布式事务模型分布执行计划 DEP 分布式事务对分布式数据库的存取经分解 优化后 产生一个涉及到用通信操作联系的多个局部数据的存取操作序列分布执行计划可以分解为涉及相应场地上的局部数据库的操作序列 即各场地上的子DEP组成 分布式事务处理 代理者和协调者为了完成各场地的子事务的处理功能 全局事务必须为每一个子事务在相应的场地上创建一个代理者进程 每一个代理者都是一个局部进程 为了协调各子事务的操作 全局事务还要启动一个协调者进程 来控制和协调各代理者间的操作 进行代理者间的通信 分布式事务处理 一般有多种方法来构造协调进程之间的结构 可以期望如下的进程结构 存在一个协调者进程 这个进程一般由事务的始发场地启动 当用户提供一个用户请求时 就在请求的始发场地启动该进程 协调者进程负责控制事务的执行 协调代理者之间的操作 发出事务的开始 提交或夭折等操作 只有协调者才可以请求创建新的代理者 分布式事务处理 4 分布式事务恢复机制关键问题全局事务可以分解为若干子事务 分布在不同的结点上执行 系统不但要保证子事务的原子性 还要保证全局事务的原子性 这不是哪一个局部DBMS所能完成的 而是需要在结点间进行协调 在分布式数据库系统中 失效可分为两种 一种是结点失效 NodeFailure第二种是分区失效 PartitionFailure 分布式事务处理 两步提交协议当一个事务分布在多个结点上执行时 在结束事务时 各结点须保持一致 要么都提交 要么都回滚 11 2 6WEB与数据库的连接 增加设计交互性数据库访问能力的工具和技术 这种技术通常主要有三种形式基于服务器应用程序的方法基于服务器描述脚本的方法基于客户端应用程序的方法实现连接的三个步骤第一步 选择连接方式第二步 工具的选择第三步 发布数据 WEB与数据库的连接 构造一个数据库连接的基本方式通常有两种 即服务器端连接和客户端连接 1 选择连接方式服务器端数据库连接是最早出现同时也是最常用的一种方法让客户端在Web服务器上唤起一个CGI NSAPI或ISAPI进程 将它们连接到一个数据库上用以收集信息 该数据库通过将DHTML DynamicHTML 动态HTML 推送到浏览器的方式来将信息发送到客户端 WEB与数据库的连接 客户端连接是一种刚刚兴起的数据库连接方式主要思路是让用户下载一个能够将他们连接到一个远程数据库上的小应用 控件或脚本 这种连接方式比服务器端连接更为有效 因为它允许用户与数据库的动态交互 WEB与数据库的连接 2 工具的选择通常Web到数据库的连接工具可分为两类一类是应用开发工具一类是数据库
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论