分布式数据库与客户机服务器模式.ppt_第1页
分布式数据库与客户机服务器模式.ppt_第2页
分布式数据库与客户机服务器模式.ppt_第3页
分布式数据库与客户机服务器模式.ppt_第4页
分布式数据库与客户机服务器模式.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

分布式数据库系统及其应用,客户机/服务器计算模式 客户机/服务器模式的定位 客户机/服务器模式的特性和优缺点 客户机/服务器模式的远景展望 分布式数据与分布式访问 创建基于客户机/服务器模式的数据库系统,分布式数据库与客户机/服务器模式,第8章,概念 客户机/服务器概念最早用于软件体系结构 提出请求的应用程序 解答请求的服务程序 协作式处理方式 客户机和服务器都参与一个应用程序的处理 软件成分相互协作完成特定应用功能 请求/服务模式 硬件资源提供软件成分相互协作的设施 客户机/服务器模式,客户机,客户机,客户机,网络,应用 服务器,通信 服务器,打印 服务器,文件 服务器,数据库 服务器,请求,响应,响应,请求,客户机/服务器模式,C/S环境下应用成分的分布 一个典型的数据库应用程序可分解为4部分 界面表示逻辑:与用户交互的代码,GUI 业务处理逻辑:使用输入数据来完成业务处理和规则的代码,使用3GL或4GL编写的 数据处理逻辑:负责处理数据的代码,一般使用SQL语言或者嵌入式SQL语言编写 数据库管理:由DBMS完成实际数据处理的程序 通常放置方法 界面表示逻辑和业务处理逻辑放到客户端 数据处理逻辑和数据库管理功能放到服务端,DB,组成数据库应用程序的四个成分,数据处理 逻辑,界面表示 逻辑,业务处理 逻辑,数据管理 功能,Client,应用程序,DBMS,Server,支持C/S结构的DBMS,支持和不支持C/S结构的DBMS情形,不支持C/S结构的DBMS,用户,客 户 机 应 用 系 统,客 户 机 数 据 库 API,连 接 软 件,网 络 协 议,客户机,网 络 协 议,连 接 软 件,服 务 器 软 件,服 务 器 操 作 系 统,服务器,数据库,SQL,结果,网络,客户机/服务器模式的内部结构,文件,打印机,DB,客户机,中间件,服务器,客户机/服务器模式体系结构示意图,服务器 提供高速大容量的存储能力, 强大的数据处理和管理能力, 运行多个进程能力 分类 文件服务器 数据库服务器 事务服务器 文档服务器 其他服务器,文件,文件服务器,数据,SQL命令,DB,数据库服务器,GUI,应用程序,应用程序事务,客户机,服务器,数据,应用程序 专用事务,DB,事务处理服务器,数据库服务器,客户机 完成界面表示和一些业务逻辑功能 客户机类型 非图形化用户接口:条形码,扫描器,传真机,仿真终端等 图形化(GUI)用户接口:基于Windows的软件和设备 面向对象接口(OOI):可视化、多媒体处理软件和设备 客户机软件类型 公共应用程序 :字处理, 报表编制, 图形软件,项目管理软件等 数据库前端软件:Oracel PL/SQL plus 应用生成和开发软件: PowerBuilder, Dephi, VisualC+, Visual Basic等 中间件 泛指客户机与服务器之间的软件 数据库连接中间件, 事务处理中间件, 组件中间件, 对象中间件等,主机处理系统 所有程序在一个主机上运行 优点 集中式, 安全性和海量数据存储设备管理能力 支持大量并发用户, IBM大型机上数据库支持1000多用户 缺点 系统采购和维护费用大 特殊的支持设施等,Modem,Modem,Host CPU,DBMS,APPs,DB,主机,远程终端,本地终端,主机处理环境,文件处理系统 应用处理(包括数据处理)都发生在PC工作站 服务器仅从硬盘查询所需要的文件通过网络发送给用户 缺点 用户计算能力局限于本地PC工作站 多用户共享文件时, 仍然需要分别发送到每个PC 只满足小规模工作组应用需求,LAN,工作站,NOS,文件服务器,打印机,修改过的文件送回服务器,数据文件送给PC,文件共享处理环境,C/S处理系统 “恰到好处的规模”(rightsizing) Client/server将应用资源恰到好处地分配 降低了网络开销 典型应用是数据库技术 数据库应用程序运行在client上 DBMS部分应用在server上,LAN,APPs,PC,APPs,PC,APPs,PC,UNIX,DBMS,查询结果,查询请求,DB,客户机/服务器处理环境,服务器,客户机,多处理器服务系统 存在两个或两个以上服务器的C/S系统 如果本地server发现没有相关数据,通过“S对S的对话”向其他服务器发出请求 企业级大型应用平台,LAN / WAN,APPs,PC,客户机,APPs,PC,UNIX,DBMS,结果,请求,DB,多服务器处理环境,MVS,DBMS,DB,网关/网桥,NOS,文件服务器,远程访问,对等处理系统 C/S系统的最终归宿, 是协作式分布式处理的极限 站点既是客户机又是服务器 站点要负责对自己资源的管理和访问, 又有对任何其他站点上资源的同等访问权,DB,DB,DB,DB,对等处理环境,C/S模式系统是介于集中式与分布式之间 集中式C/S处理环境 数据集中, 处理分布 客户请求, 服务器响应的协作方式 多服务器C/S处理环境 数据与处理都分布 一个应用可涉及多个服务器数据 一个服务器数据可以被多个客户机访问 对等C/S处理环境 数据与处理都分布 站点可以访问其他站点数据(全局应用), 也可以访问本地数据(本地应用),有多个数据库服务器的C/S处理环境 与分布式数据库系统相同的问题 站点自治性, 透明性 数据独立 数据完整性,网络,DB,数据库服务器,DB,数据库服务器,DB,数据库服务器,用户,每个站点是一个单数据库服务器Client/Server结构的DDBS,按功能划分 服务器是服务的提供者, 客户机是消费者 共享资源 一个服务器可以在同一时刻对许多客户端提供服务,并且可以协调他们对于共享资源的访问 不对称协议 客户机主动请求服务, 服务器被动等待请求 定位透明性 C/S软件在客户机方屏蔽服务器地址 混合与匹配 C/S软件独立于硬件或OS,基于消息的交换 消息式服务,请求与响应的媒介 服务封装 服务器决定如何完成服务请求消息, 消息接口不变, 升级对客户没有影响 可扩展性 水平扩展:添加或移去工作站 垂直扩展:移植到更大更快的服务器或多服务器 完整性 集中式C/S处理环境中,server代码和server数据是集中维护的,带来的开销很少,保持了数据的完整性和独立性,优点 提高了投资效率 使处理和被处理的数据更接近, 减少了网络带宽和成本的需求 具有图形用户界面的PC 支持和倡导标准化和开放系统 多个用户共享硬件资源,不足之处 在集中式C/S环境, 如果应用逻辑的主要部分移到服务器上,服务器将成为瓶颈 多服务器应用系统的开发和设计复杂,当前的主要模式 C/S两层结构 肥客户机:所有的表示逻辑和应用逻辑放到客户机 瘦服务器:只负责响应用户请求,全局数据的访问和管理 B/S三层结构 数据层 功能层 表示层,浏览器,浏览器,浏览器,Web 服务器,DB,数据库服务器,产品实例,NetscapeNavigator, Macintosh,Microsoft IIS Windows 2000,OracleUNIX,SQL 关系,Web页面客户代码数据,功 能,HTTP客户客户端脚本视图实例化,HTTP服务器服务器端脚本 视图建立、检索、更新和删除,SQL处理 数据库管理,三层客户机/服务器模式结构及各层功能,HTTP请求响应,ODBC ADO OLE/DB JDBC 本地调用,浏览器,浏览器,浏览器,Web 服务器,视图 处理器,业务规则 处理器,DB,数据库服务器,(a)多处理器用于视图和规则处理,DB1,数据库服务器1,(b)多处理器用于分布式处理,DB2,数据库服务器2,浏览器,浏览器,浏览器,Web 服务器,分布式 处理器,展望 服务器将更加强大,现在就可以是一台台式机,以后会更强大 服务器更加可靠和健壮,处理器和磁盘的成本将大幅下降 安全性更高,加密解密技术进一步发展 高带宽网络的发展,可以使得多层次结构的应用更加普及,从集中到分布数据的转移 将关键数据的多个副本置于不同站点,提高数据的可用性, 避免“单站点失败”现象 高效的数据访问, 改进数据管理性能 容易增加应用程序, 用户数目和扩大规模 数据放在其产生和频繁使用位置, 减少传输, 提高效率,数据分布基本形式 复制数据(Replicated Data) 子集数据(Subset Data) 重新组织的数据(Reorganized Data) 分区数据(Partitioned Data) 独立模式数据(Separate_Schema Data) 不相容数据(Incompatible Data),网络,DB x,主机,DB x1,DB x2,x1和x2为 x的副本,复制的数据,S1,S2,网络,DB ABC,主机,DB A,DB C,子集数据,S1,S3,DB B,S2,网络,DB R,主机,DB A,重新组织的数据,S1,DB B,S2,数据R是由数据A和B 经过重新组织而获得的,网络,地区A 的记录,地区B 的记录,分区数据,地区C 的记录,各地区的记录 具有相同模式,网络,生产 数据,财务 数据,独立模式数据,生产 主机,财务 主机,营销 数据,营销 主机,网络,公司A 的记录,公司B 的记录,不相容数据,公司C 的记录,各公司的数据 存在不相容,数据分布技术 人工抽取 快照 复制 分片 数据分布分析,SAVING,CUSTOMER,EXCHANGERATE,SAVING,CUSTOMER,EXCHANGERATE,网络,总行,分行1,分行2,分布式数据的银行应用系统,分行到总行抽取数据,数据分布分析 是一种统计方法 根据应用需求决定那些资源需要分布及存放位置 例子:银行应用系统 客户表存在中央银行(CB)站点, 分行(PB)存有部分数据复制 假设CB站点有10000条记录, 每天读2000次, 更新500次 PB站点有1000条记录,每天读1000次, 更新100次,分布式数据库位置矩阵,该例子分析方法结论 分布式数据的位置取决于逻辑数据和处理(读和更新)模式, 数量等特征 数据分布是降低整个分布式系统开销的有效措施,远程请求 远程事务 分布式事务 分布式请求,远程请求 只涉及单个远程服务器的单个请求 Select * From Server1.BankDB.Customer Where Server1.BankDB.Customer.City = Beijing,SQL语句,CLIENT PB,SERVER1,远程数据请求,远程事务 允许一个事务中包含多个数据访问请求,这些请求都引用同一个远程服务器站点上的数据 Begin Work Select * From Server1.BankDB.Customer Where Server1.BankDB.Customer.City = Beijing Update Server1.BankDB.Branch Set Posted_ind = Yes Commit Work,SQL语句1,CLIENT B1,SERVER1,远程事务处理,SQL语句2,分布式事务 一个事务包含多个数据请求, 每个请求只能访问单个服务器 Begin Work Select * From ServerB1.BankDB.Employee Where ServerB1.BankDB.Employee.Edlevel=MBA Select * From ServerM.BankDB.Empl_MED Where ServerM.BankDB.Empl_MED.Branch=PB Commit Work,SQL语句1,SERVER M,分布式事务处理,SERVER B1,SQL语句2,中央CLIENT,BEGIN WORK COMMIT WORK,分布式请求 一个事务包含多个数据请求,每个请求都可以引用驻留于多个服务器站点数据 Begin Work Select * From ServerB1.BankDB.Employee B1, ServerM.BankDB.Empl_MED M Where B1.Empl_ID = M. Empl_ID AND B1. Edlevel = MBA Update Server1.BankDB.Branch Set Posted_ind = Yes Where Server1.BankDB.Branch = B1 Commit Work,SQL语句1,SERVER M,分布式数据请求,SERVER B1,SQL语句2,CLIENT,BEGIN WORK COMMIT WORK,SERVER 1,CASE工具 ER Studio, PowerDesigner, Rational Rose, Visio等 可视化程序设计工具 VB,VC+ Visual Age, Eclipse, JBuilder Dephi, Powerbuilder 硬核程序设计工具 C,C+, Cobol 套装应用程序 MS Office, PerfectOffice, SmartOffice 测试工具 Softbridge, SQA 版本控制工具 SourceSafe, CMVC, Delta等,ODBC的作用,浏览器,浏览器,浏览器,Web 服务器,数据库服务器,本地接口,ODBC,关系数据库Oracle, IBM Db2, Sybase, SQLServer, Access,非关系数据库,文件处理器,电子邮件,图象、视频、其他文档等,驱动程序 管理器,连接,语句,结果集,结果集元数据,可调用语句,预备语句,实用程序,MySQL 驱动程序,OracleL 驱动程序,JDBC -ODBC桥,ODBC 驱动程序,MySQL 数据库,Oracle 数据库,Oracle 数据库,SQL 数据库,JDBC的组成部件,浏览器,Web 服务器,DB,数据库服务器,软件产品,Inernet explorer,IIS ,ASP,ISAPI,CGI, Java,C+,Oracle,Sybase,IBM DB2,SQLServer,SQL 关系,Web页面客户请求结果数据,操作系统,Windows 2000 Windows XP,Windows 2003 Windows 2000,基于B/S模式系统的Microsoft实现方案,HTML, DHTML,XML,ODBC ADO OLE/DB JDBC,Windows 2003 Windows 2000,1985年起提供用于C/S和S/S的SQL*net 分布式体系结构组成 SQL*Net SQL*Connect ORACLE Server,ORACLE在同构和异构网络环境中都支持C/S和S/S结构 C/S连接时, 通过连接描述符实现 S/S之间的连接, 或数据访问操作可以用DB链路进行. Create Database Link Boston Connect to Scott Identified By Tigger Using EducationDB; 查询时用Boston存取远程Scott/Tigger用户的EMP表: Select * From EMPBoston;,UPI,SQL*Net,Transparent Network Substrate,Oracle Protocol Adapter,Network Software,OPI,SQL*Net,Transparent Network Substrate,Oracle Protocol Adapter,Network Software,Network Link,Client,Server,Client Application,Oracle Server,Oracle Server,SQL*Net,Transparent Network Substrate,Oracle Protocol Adapter,Network Software,Oracle Server,S

温馨提示

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

评论

0/150

提交评论