分布式数据库系统概述.ppt
1. 1.分布式数据库系统的起源和发展分布式数据库系统的起源和发展2.2.分布式数据库系统的定义和分类分布式数据库系统的定义和分类3.3.分布式数据库系统的体系结构分布式数据库系统的体系结构4.4.分布式数据库系统与客户机分布式数据库系统与客户机/ /服务器模式服务器模式5.5.分布式数据库管理系统分布式数据库管理系统6.6.其他非集中式数据库系统其他非集中式数据库系统7.7.分布式数据库目录系统的主要内容和逻辑结构分布式数据库目录系统的主要内容和逻辑结构8.8.分布式数据库系统的主要技术分布式数据库系统的主要技术9.9.分布式数据库系统的主要应用分布式数据库系统的主要应用10.10.分布式数据库系统的优点和存在的技术问题分布式数据库系统的优点和存在的技术问题分布式数据库系统概述分布式数据库系统概述 第第1章章1.1 分布式数据库的起源分布式数据库的起源1 1 分布式数据库的起源和发展分布式数据库的起源和发展1.计算机平台环境的改变计算机平台环境的改变卫星通信卫星通信蜂窝通信蜂窝通信局域网局域网广域网广域网IntranetInternet2.信息系统应用需求信息系统应用需求地域上分散、管理集中的企业越来越多地域上分散、管理集中的企业越来越多既要求实现本地数据管理,就要求存取异既要求实现本地数据管理,就要求存取异地的数据地的数据既要有各部门的局部控制和分散管理;又既要有各部门的局部控制和分散管理;又要有整个组织的全局控制和高层次的协同要有整个组织的全局控制和高层次的协同管理管理1.2 分布式数据库的发展分布式数据库的发展1 1 分布式数据库的起源和发展分布式数据库的起源和发展1.分布式数据库发展阶段分布式数据库发展阶段20世纪世纪70年代末期年代末期产生产生20世纪世纪80年代年代成长阶段成长阶段20世纪世纪90年代年代商品化应用阶段商品化应用阶段21世纪世纪大规模应用阶段大规模应用阶段2.分布式数据库系统的分布式数据库系统的12条规则条规则本地自治性本地自治性不依赖于中心节点不依赖于中心节点可连续操作性可连续操作性位置独立性位置独立性数据分片独立性数据分片独立性数据复制独立性数据复制独立性分布式查询处理分布式查询处理分布式事务处理分布式事务处理硬件独立性硬件独立性操作系统独立性操作系统独立性网络独立性网络独立性数据库管理系统独立性数据库管理系统独立性2.1 分布式数据库的定义和特点分布式数据库的定义和特点2 2 分布式数据库系统的定义和分类分布式数据库系统的定义和分类1.分布式数据库定义:物理上分散而逻辑上集中的系统,它使用计算机网络分布式数据库定义:物理上分散而逻辑上集中的系统,它使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)连接起来,共同组成一个统一的数据库系统。分布是集中式数据库系统)连接起来,共同组成一个统一的数据库系统。分布式数据库系统可以看成是计算机网络和数据库系统的有机结合。式数据库系统可以看成是计算机网络和数据库系统的有机结合。2.分布式数据库系统的特点分布式数据库系统的特点物理分布性:数据不是存放在一个站点上物理分布性:数据不是存放在一个站点上逻辑整体性:是与分散式数据库系统的区别逻辑整体性:是与分散式数据库系统的区别站点自治性:是与多处理机系统的区别站点自治性:是与多处理机系统的区别数据分布透明性数据分布透明性集中与自治相结合集中与自治相结合存在适当的数据冗余度存在适当的数据冗余度事务管理的分布性事务管理的分布性2.1 分布式数据库的定义和特点分布式数据库的定义和特点2 2 分布式数据库系统的定义和分类分布式数据库系统的定义和分类 DB1 DB2 DB3全局用户全局用户1局部用户局部用户1全局用户全局用户2局部用户局部用户2全局用户全局用户3局部用户局部用户3网络网络DDBMS DBMS1DDBMS DBMS2DDBMS DBMS3分布式数据库系统示意图分布式数据库系统示意图2.2 分布式数据库的分类分布式数据库的分类2 2 分布式数据库系统的定义和分类分布式数据库系统的定义和分类1.按局部按局部DBMS的数据模型分类的数据模型分类同构型同构型DDBS同构同质型同构同质型同构异质型同构异质型异构型异构型DDBS2.按按DDBS的全局控制类型分类的全局控制类型分类全局控制集中型全局控制集中型DDBS:全局控制机制和全局数据词典位于中心站点:全局控制机制和全局数据词典位于中心站点全局控制分散型全局控制分散型DDBS:全局控制机制和全局数据词典分散在网络的各:全局控制机制和全局数据词典分散在网络的各个站点上。个站点上。全局控制可变型全局控制可变型DDBS:也称主从型:也称主从型DDBS。分成两组站点,一组包含。分成两组站点,一组包含全局控制机制和全局控制词典,另外一组不包含。全局控制机制和全局控制词典,另外一组不包含。3.1 分布式数据库系统的体系结构分布式数据库系统的体系结构3 3 分布式数据库系统的体系结构分布式数据库系统的体系结构分布式数据库系统的体系结构分布式数据库系统的体系结构 GDBMS LDBMS LDD全局用户全局用户局部用户局部用户网络网络 CM LDBGDD GDB全局用户全局用户GDD GDB 局部用户局部用户 GDBMS LDBMS LDD CM LDB GDBMS LDBMS CM全局用户全局用户GDD GDB局部用户局部用户LDD LDB3.2 基于三层模式的分布式数据库系统体系结构基于三层模式的分布式数据库系统体系结构3 3 分布式数据库系统的体系结构分布式数据库系统的体系结构全局外模式全局概念模式分片模式分配模式局部概念模式局部内模式DB局部概念模式局部内模式DB全局外模式全局外模式全局DBMS局部DBMS 分布式数据库特有的集中式数据库也有的映象1映象3映象2映象4全局外模式全局外模式全局概念模式全局概念模式分片模式分片模式分配模式分配模式局部概念模式局部概念模式局部内模式局部内模式DB局部概念模式局部概念模式局部内模式局部内模式DB全局外模式全局外模式全局外模式全局外模式全局全局DBMS局部局部DBMS 分布式数据库特有的分布式数据库特有的集中式数据库也有的集中式数据库也有的映象映象1映象映象3映象映象2映象映象43.3 基于组件模式的分布式数据库系统体系结构基于组件模式的分布式数据库系统体系结构3 3 分布式数据库系统的体系结构分布式数据库系统的体系结构基于客户机服务器模式的系统可以看作是真正意义上的分布式系统的一某些基于客户机服务器模式的系统可以看作是真正意义上的分布式系统的一某些站点是客户机站点,而另一些站点是服务器站点;站点是客户机站点,而另一些站点是服务器站点;l所有的数据都驻留在服务器站点;所有的数据都驻留在服务器站点;l所有的应用都在客户机站点运行;所有的应用都在客户机站点运行;l应用请求是通过客户机请求和服务器响应的协作方式来完成的;应用请求是通过客户机请求和服务器响应的协作方式来完成的;l一般不提供完全的位置透明性,即一般不提供完全的位置透明性,即“存在接缝存在接缝”。4.1 客户机客户机/ /服务器模式的含义服务器模式的含义4 4 分布式数据库系统与客户机分布式数据库系统与客户机/ /服务器模式服务器模式4.2 集中式客户机集中式客户机/服务器系统服务器系统4 4 分布式数据库系统与客户机分布式数据库系统与客户机/ /服务器模式服务器模式4.3 多客户机多客户机/单服务器系统单服务器系统4 4 分布式数据库系统与客户机分布式数据库系统与客户机/ /服务器模式服务器模式4.4 多客户机多客户机/多服务器系统多服务器系统4 4 分布式数据库系统与客户机分布式数据库系统与客户机/ /服务器模式服务器模式4.5 服务器服务器-服务器系统服务器系统4 4 分布式数据库系统与客户机分布式数据库系统与客户机/ /服务器模式服务器模式4.6 对等客户机对等客户机/服务器系统服务器系统4 4 分布式数据库系统与客户机分布式数据库系统与客户机/ /服务器模式服务器模式l 分布式数据库系统是在集中式数据库系统基础上发展起来的,但不是简单分布式数据库系统是在集中式数据库系统基础上发展起来的,但不是简单地把集中式数据库系统分散地实现,地把集中式数据库系统分散地实现,l 负责负责实现分布式数据库的建立、查询、更新、复制和维护等功能,同负责负责实现分布式数据库的建立、查询、更新、复制和维护等功能,同时还包括提供分布透明性,查询优化、协调全局事务的执行,协调各局部时还包括提供分布透明性,查询优化、协调全局事务的执行,协调各局部DBMS共同完成全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步共同完成全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步和全局恢复等功能。它和全局恢复等功能。它l 除此之外,还具有自己的性质和特征。除此之外,还具有自己的性质和特征。数据跟踪数据跟踪分布式查询处理分布式查询处理分布式事务管理分布式事务管理复制数据的管理复制数据的管理安全性安全性分布式目录管理分布式目录管理5.1 分布式数据库管理系统的功能分布式数据库管理系统的功能5 5 分布式数据库系统的管理系统分布式数据库系统的管理系统5.2 分布式数据库管理系统的结构分布式数据库管理系统的结构5 5 分布式数据库系统的管理系统分布式数据库系统的管理系统用户查询查询分析优化算法查询处理模块调度处理模块CMLDBMSDB可靠性处理模块完整性处理模块系统DD网络分布策略需要的数据实际的数据数据定位错误对网络的监视信息局部处理命令数据lP2P模型是一种新型的体系结构模型,面向大范围的多数据资源节点的松散模型是一种新型的体系结构模型,面向大范围的多数据资源节点的松散耦合。耦合。l每个对等计算机地位相同,可直接互连实现各种资源的共享,不需要依赖每个对等计算机地位相同,可直接互连实现各种资源的共享,不需要依赖集中式服务器支持。集中式服务器支持。l典型的典型的P2P系统主要有以下三种结构:纯粹分布式系统主要有以下三种结构:纯粹分布式P2P系统结构、集中目录系统结构、集中目录P2P系统结构以及混合式系统结构以及混合式P2P系统结构系统结构lP2P系统的主要特点有:系统的主要特点有:l 每个节点均可贡献数据,系统资源具有丰富性、多样性;每个节点均可贡献数据,系统资源具有丰富性、多样性;l 可直接访问数据源中的数据资源,即时得到最新鲜的数据,不同于集可直接访问数据源中的数据资源,即时得到最新鲜的数据,不同于集中的数据资源库,如数据仓库等;中的数据资源库,如数据仓库等;l 采用自组织原则,具有健壮性;采用自组织原则,具有健壮性;l 每个节点可随时加入和退出,系统具有分散性、可扩展性;每个节点可随时加入和退出,系统具有分散性、可扩展性;l 通常以通常以Web上的资源为节点,系统部署简单,不需要复杂的框架部署实上的资源为节点,系统部署简单,不需要复杂的框架部署实现。现。6.1 对等数据库系统对等数据库系统6 6 其他非集中式数据库系统其他非集中式数据库系统6.1 对等数据库系统对等数据库系统6 6 其他非集中式数据库系统其他非集中式数据库系统(a)纯粹分布式)纯粹分布式P2P系统结构系统结构 (b)集中目录分布式)集中目录分布式P2P系统结构系统结构 (c)混合式分布式)混合式分布式P2P系统结构系统结构(a)(b)(c)l多数据库系统(多数据库系统(Multi-Database Systems,MDBS)是多个已存在的、自治)是多个已存在的、自治的、异构的数据库系统的联合。的、异构的数据库系统的联合。l参与构成多数据库系统的数据库系统称为局部或成员数据库系统参与构成多数据库系统的数据库系统称为局部或成员数据库系统(Local Database System,LDBS)。多。多l数据库系统是在己经存在的数据库系统之上为用户提供一个统一的存取数数据库系统是在己经存在的数据库系统之上为用户提供一个统一的存取数据的环境。据的环境。6.2 多数据库系统多数据库系统6 6 其他非集中式数据库系统其他非集中式数据库系统6.2 多数据库系统的逻辑结构多数据库系统的逻辑结构6 6 其他非集中式数据库系统其他非集中式数据库系统全局用户全局用户多数据库系统多数据库系统局部数据库局部数据库系统系统1局部数据局部数据库系统库系统2局部局部用户用户局部局部用户用户DB1DB26.2 多数据库系统的组件结构多数据库系统的组件结构6 6 其他非集中式数据库系统其他非集中式数据库系统用户用户多数据库用户接口多数据库用户接口查询分析器查询分析器查询处理器查询处理器存储管理器存储管理器恢复管理恢复管理器器全局执行监控器全局执行监控器查询分析器查询分析器查询处理器查询处理器存储管理器存储管理器恢复管理器恢复管理器全局执行监控全局执行监控器器DBMSDBMS数据库数据库数据库数据库l分布式数据库的目录系统(分布式数据库的目录系统(Catalog System)是存放与分布式数据库系统有关的)是存放与分布式数据库系统有关的对象和各种控制信息的场所。对象和各种控制信息的场所。l主要功能包括:主要功能包括:7.1 分布式数据库目录系统的主要内容分布式数据库目录系统的主要内容7 7 分布式数据库目录系统的主要内容和逻辑结构分布式数据库目录系统的主要内容和逻辑结构l全局模式描述全局模式描述l分片模式描述分片模式描述l分布模式描述分布模式描述l局部名映射局部名映射l存取方法描述存取方法描述l数据库的统计信息数据库的统计信息l一致性错误一致性错误l状态信息状态信息l数据表述数据表述l数据命令数据命令l系统描述系统描述l分布式数据库目录系统可与分布式数据库系统协同工作,将用户对数据的高级分布式数据库目录系统可与分布式数据库系统协同工作,将用户对数据的高级查询转化为相应存储对象的低级操作,而且满足数据独立性要求。查询转化为相应存储对象的低级操作,而且满足数据独立性要求。l验证用户对数据的访问权限,保证合法用户能正确而有效地访问数据库中的数验证用户对数据的访问权限,保证合法用户能正确而有效地访问数据库中的数据。主要功能包括:据。主要功能包括:l设计应用设计应用l翻译应用翻译应用l优化处理优化处理l运行监督运行监督l系统维护系统维护7.2 分布式数据库目录系统的主要用途分布式数据库目录系统的主要用途7 7 分布式数据库目录系统的主要内容和逻辑结构分布式数据库目录系统的主要内容和逻辑结构l 分布式数据库目录系统的组织方式通常有以下三种分布式数据库目录系统的组织方式通常有以下三种:l 独立式独立式 利用操作系统提供的文件管理功能来建立和维护目录信息,这时目录系统具利用操作系统提供的文件管理功能来建立和维护目录信息,这时目录系统具有独立的数据定义、装入、查询、修改和报告生成功能。有独立的数据定义、装入、查询、修改和报告生成功能。l 分离式分离式 利用利用DBMS建立和维护目录信息,但它的用户界面与功能均独立于建立和维护目录信息,但它的用户界面与功能均独立于DBMS。l 嵌入式嵌入式 DBMS与目录系统一体化,即目录系统作为与目录系统一体化,即目录系统作为DBMS的子集而存在,在分布的子集而存在,在分布式数据库系统中通常采用这种方法。式数据库系统中通常采用这种方法。7.3 分布式数据库目录系统的组织方式分布式数据库目录系统的组织方式7 7 分布式数据库目录系统的主要内容和逻辑结构分布式数据库目录系统的主要内容和逻辑结构l 分布式数据库目录系统的组织方式通常有以下三种分布式数据库目录系统的组织方式通常有以下三种:l 独立式独立式 利用操作系统提供的文件管理功能来建立和维护目录信息,这时目录系统具利用操作系统提供的文件管理功能来建立和维护目录信息,这时目录系统具有独立的数据定义、装入、查询、修改和报告生成功能。有独立的数据定义、装入、查询、修改和报告生成功能。l 分离式分离式 利用利用DBMS建立和维护目录信息,但它的用户界面与功能均独立于建立和维护目录信息,但它的用户界面与功能均独立于DBMS。l 嵌入式嵌入式 DBMS与目录系统一体化,即目录系统作为与目录系统一体化,即目录系统作为DBMS的子集而存在,在分布的子集而存在,在分布式数据库系统中通常采用这种方法。式数据库系统中通常采用这种方法。7.3 分布式数据库目录系统的组织方式分布式数据库目录系统的组织方式7 7 分布式数据库目录系统的主要内容和逻辑结构分布式数据库目录系统的主要内容和逻辑结构7.4 分布式数据库目录系统的逻辑结构分布式数据库目录系统的逻辑结构7 7 分布式数据库目录系统的主要内容和逻辑结构分布式数据库目录系统的主要内容和逻辑结构全局外模式全局外模式目录目录全局概念模式全局概念模式目录目录局部外模式局部外模式目录目录局部概念模式局部概念模式目录目录内模式内模式目录目录局部数据库局部数据库网络目录网络目录l分布式数据库目录由目录系统进行管理。分布式数据库目录由目录系统进行管理。l目录系统在网络操作系统和分布式数据库管理系统的支持下实现对数据目目录系统在网络操作系统和分布式数据库管理系统的支持下实现对数据目录进行自动管理,并保持其在动态变化过程中数据目录的一致性和有效性。录进行自动管理,并保持其在动态变化过程中数据目录的一致性和有效性。l目录系统有以下功能模块组成:目录系统有以下功能模块组成:l目录定义:描述目录信息的逻辑结构和模式表示。目录定义:描述目录信息的逻辑结构和模式表示。l目录装入:负责目录信息的装入与存储。目录装入:负责目录信息的装入与存储。l目录查询:负责解释用户对目录信息的查询请求,处理各种查询要求。目录查询:负责解释用户对目录信息的查询请求,处理各种查询要求。l目录更新:用于更新目录信息。目录更新:用于更新目录信息。l目录维护:用于在不破坏目录模式定义的前提下,对目录信息进行分类、归并、目录维护:用于在不破坏目录模式定义的前提下,对目录信息进行分类、归并、重构与链接。重构与链接。l报告生成:将目录信息以文本格式输出。报告生成:将目录信息以文本格式输出。7.5 分布式数据库目录系统的目录结构分布式数据库目录系统的目录结构7 7 分布式数据库目录系统的主要内容和逻辑结构分布式数据库目录系统的主要内容和逻辑结构l集中式目录:全局系统目录采用集中式存放方式集中式目录:全局系统目录采用集中式存放方式l全复制式目录:在每个站点上都存放一个完整的全局目录,但目录的更新全复制式目录:在每个站点上都存放一个完整的全局目录,但目录的更新必须传播到每一个站点。必须传播到每一个站点。l局部式目录:每个站点只为存放在本站点的数据保留一份目录(局部目局部式目录:每个站点只为存放在本站点的数据保留一份目录(局部目录),系统的整体目录是所有这些不相交的局部目录的集合。录),系统的整体目录是所有这些不相交的局部目录的集合。l混合式目录混合式目录 :混合式目录是上述三种方式的混合使用,是折中的目录分布:混合式目录是上述三种方式的混合使用,是折中的目录分布方案,包括:方案,包括:l集中式目录与局部式目录相混合。集中式目录与局部式目录相混合。l全复制式目录与局部式目录相混合。全复制式目录与局部式目录相混合。7.6 分布式数据库目录系统的分布方式分布式数据库目录系统的分布方式7 7 分布式数据库目录系统的主要内容和逻辑结构分布式数据库目录系统的主要内容和逻辑结构l分布式数据库设计方法主要有两种:分布式数据库设计方法主要有两种:l自顶向下方法自顶向下方法l自底向上方法自底向上方法l前者从头开始设计分布式数据库,而后者则通过集成现有数据库来设计分前者从头开始设计分布式数据库,而后者则通过集成现有数据库来设计分布式数据库。布式数据库。8.1 分布式数据库设计分布式数据库设计8 8 分布式数据库目录系统的主要技术分布式数据库目录系统的主要技术l分布式环境下影响查询效率的因素有很多分布式环境下影响查询效率的因素有很多l除了集中式查询下的除了集中式查询下的CPU和和I/O代价外,数据在网络站点之间的传输、数据代价外,数据在网络站点之间的传输、数据的冗余和分布都会对查询的效率产生很大的影响。的冗余和分布都会对查询的效率产生很大的影响。l分布式查询优化的准则是使通信费用最低和响应时间最短,即以最小的总分布式查询优化的准则是使通信费用最低和响应时间最短,即以最小的总代价、在最短的响应时间内获得需要的数据。最基本的查询优化方法是基代价、在最短的响应时间内获得需要的数据。最基本的查询优化方法是基于关系代数等价变换的查询优化方法。于关系代数等价变换的查询优化方法。l此外,考虑局部代价和传输代价的不同情况,还有多种查询优化方法:此外,考虑局部代价和传输代价的不同情况,还有多种查询优化方法:l基于半连接算法的查询优化处理方法基于半连接算法的查询优化处理方法l基于直接连接算法的查询优化处理方法基于直接连接算法的查询优化处理方法l分布式分布式INGRES算法算法lR*算法和算法和SDD-1算法等算法等8.2 分布式查询和优化分布式查询和优化8 8 分布式数据库目录系统的主要技术分布式数据库目录系统的主要技术l分布式分布式DBMS系统中的分布式事务管理程序必须即保证本地事务的系统中的分布式事务管理程序必须即保证本地事务的ACID特特性又保证分布式事务的性又保证分布式事务的ACID特性特性l事务管理程序的本地事务管理程序负责保证本地事务的事务管理程序的本地事务管理程序负责保证本地事务的ACID特性,而分布特性,而分布式事务的式事务的ACID特性则由两阶段提交协议来保证。特性则由两阶段提交协议来保证。l当发生故障时,要使得分布式数据库恢复到一个正确的、一致的状态。恢当发生故障时,要使得分布式数据库恢复到一个正确的、一致的状态。恢复的基本原理是数据冗余,即利用冗余存储在别处的信息和数据,部分或复的基本原理是数据冗余,即利用冗余存储在别处的信息和数据,部分或全部重建数据库。全部重建数据库。8.3 分布式事务管理和恢复分布式事务管理和恢复8 8 分布式数据库目录系统的主要技术分布式数据库目录系统的主要技术l分布式数据库中的并发控制是以集中式数据库中的并发控制技术为基础的,分布式数据库中的并发控制是以集中式数据库中的并发控制技术为基础的,主要解决多个分布式事务对数据并发执行的正确性。主要解决多个分布式事务对数据并发执行的正确性。l分布式数据库系统并发控制的主要内容包括:分布式数据库系统并发控制的主要内容包括:l分布式数据库系统并发控制的封锁技术分布式数据库系统并发控制的封锁技术l分布式数据库系统中的死锁处理分布式数据库系统中的死锁处理l分布式数据库系统并发控制的时标技术分布式数据库系统并发控制的时标技术l分布式数据库系统并发控制的多版本技术分布式数据库系统并发控制的多版本技术l分布式数据库系统并发控制的乐观方法等分布式数据库系统并发控制的乐观方法等8.4 分布式并发控制分布式并发控制8 8 分布式数据库目录系统的主要技术分布式数据库目录系统的主要技术l分布式数据库的可靠性是指分布式数据库在一个给定的时间间隔内不产生分布式数据库的可靠性是指分布式数据库在一个给定的时间间隔内不产生任何失败的概率。任何失败的概率。l它强调分布式数据库的正确性,要求分布式数据库在符合某种要求情况下它强调分布式数据库的正确性,要求分布式数据库在符合某种要求情况下正确地运行。一正确地运行。一l个可靠性高的系统要求故障少、容易修复或者修复得快。个可靠性高的系统要求故障少、容易修复或者修复得快。l分布式数据库失败的主要原因有错误的设计、不稳定或临界的组件、不稳分布式数据库失败的主要原因有错误的设计、不稳定或临界的组件、不稳定的外部环境和操作者的过失等。定的外部环境和操作者的过失等。l分布式数据库的可靠性协议可以保证在分布式数据库上执行的分布式事务分布式数据库的可靠性协议可以保证在分布式数据库上执行的分布式事务的原子性和持久性。的原子性和持久性。8.5 分布式数据库的可靠性分布式数据库的可靠性8 8 分布式数据库目录系统的主要技术分布式数据库目录系统的主要技术l分布式数据库面临的安全问题主要有:分布式数据库面临的安全问题主要有:l单站点故障、单站点故障、l网络故障、网络故障、l各类管理制度的不完善、各类管理制度的不完善、l人为攻击(黑客攻击)、人为攻击(黑客攻击)、l内部人员泄露密码数据、内部人员泄露密码数据、l程序内嵌的不安全因素等引起的安全问题等。程序内嵌的不安全因素等引起的安全问题等。l分布式数据库的安全性的的内容主要包括:保证数据库安全的措施主要有分布式数据库的安全性的的内容主要包括:保证数据库安全的措施主要有建立安全数据模型、设定有效的访问控制机制、建立多级安全数据库、数建立安全数据模型、设定有效的访问控制机制、建立多级安全数据库、数据加密等。据加密等。 8.6 分布式数据库的安全性分布式数据库的安全性8 8 分布式数据库目录系统的主要技术分布式数据库目录系统的主要技术l移动分布式数据库系统移动分布式数据库系统l连锁超市分布式数据库系统连锁超市分布式数据库系统l火车订票分布式数据库系统火车订票分布式数据库系统lGSP药品管理分布式数据库系统药品管理分布式数据库系统l银行管理分布式数据库系统银行管理分布式数据库系统9 9 分布式数据库系统的主要应用分布式数据库系统的主要应用1.良好的可靠性和可用性良好的可靠性和可用性2.提高系统效率,降低通信费用提高系统效率,降低通信费用3.较大的灵活性和可伸缩性较大的灵活性和可伸缩性4.经济性和保护投资经济性和保护投资5.适应组织的分布式管理和控制适应组织的分布式管理和控制6.数据分布具有透明性和站点具有较好的自治性数据分布具有透明性和站点具有较好的自治性10.1 分布式数据库系统的优点分布式数据库系统的优点10 10 分布式数据库系统的优点和存在的技术问题分布式数据库系统的优点和存在的技术问题最重要的问题是通信网络速度问题最重要的问题是通信网络速度问题如何控制数据的分片、分布与冗余度如何控制数据的分片、分布与冗余度如何实现异构数据库的互联如何实现异构数据库的互联如何优化分布式数据库的查询处理如何优化分布式数据库的查询处理如何更好地实现分布式数据库的更新处理如何更好地实现分布式数据库的更新处理如何实现分布式数据库的并发控制机制如何实现分布式数据库的并发控制机制如何实现分布式数据库的恢复控制机制如何实现分布式数据库的恢复控制机制如何实现目录管理如何实现目录管理10.2 分布式数据库系统中存在的技术问题分布式数据库系统中存在的技术问题10 10 分布式数据库系统分布式数据库系统的优点和存在的技术问题的优点和存在的技术问题总总 结结结结分布式数据库系统概论分布式数据库系统概论分布式数据库系统的定义与分类分布式数据库系统的定义与分类分布式数据库系统的体系结构分布式数据库系统的体系结构分布式数据库系统与客户机分布式数据库系统与客户机/服务器模式服务器模式分布式数据库管理系统分布式数据库管理系统其他非集中数据库系统其他非集中数据库系统分布式数据库目录系统的主要内容和逻辑结构分布式数据库目录系统的主要内容和逻辑结构分布式数据库系统的主要技术分布式数据库系统的主要技术分布式数据库系统的主要应用分布式数据库系统的主要应用分布式数据库系统的优点和存在的技术问题分布式数据库系统的优点和存在的技术问题1. 1.数据库技术回顾数据库技术回顾2.2.计算机网络技术回顾计算机网络技术回顾 基础知识回顾基础知识回顾 第第2章章数据库系统知识回顾数据库系统知识回顾 数据库数据库(DB:DataBase) 长期储存在计算机内的有组织的、可共享的相关数据的集合。长期储存在计算机内的有组织的、可共享的相关数据的集合。数据库管理系统数据库管理系统(DBMS:DataBase Management System)DBMSDBMS是介于用户与操作系统之间的一层数据管理软件。为是介于用户与操作系统之间的一层数据管理软件。为用户或应用程序提供访问用户或应用程序提供访问DBDB的方法,包括的方法,包括DBDB的建立、查询、的建立、查询、更新及各种数据控制。更新及各种数据控制。DBMSDBMS基于某种数据模型。基于某种数据模型。 数据库系统数据库系统(DBS:DataBase System)数据库技术数据库技术 硬件操作系统DBMS应用软件应用程序包数据库系统软硬件层次关系数据库技术是研究数据库的数据库技术是研究数据库的结构、存储、设计、管理和结构、存储、设计、管理和使用的一门软件学科;是一使用的一门软件学科;是一门综合性较强的学科。门综合性较强的学科。1基本概念基本概念1.11 数据库系统知识回顾数据库系统知识回顾数据库系统的模式结构数据库系统的模式结构1.2视图抽象视图抽象外模式外模式概念抽象概念抽象概念模式概念模式物理抽象物理抽象内模式内模式外模式外模式数据库系统知识回顾数据库系统知识回顾关系数据模型关系数据模型(Data Model)1 1 1.3数据结构数据结构 数据操作数据操作 完整性约束完整性约束 用于描述系统的静态特性;是所研究的对象类型(用于描述系统的静态特性;是所研究的对象类型(Object type)的集合,包括:数据的类型、内容和性质的对象(事物);数据之间的集合,包括:数据的类型、内容和性质的对象(事物);数据之间联系的对象(联系)。联系的对象(联系)。数据模型的三要素数据模型的三要素1. 数据结构:数据结构: 是一组完整性规则(条件)的集合。给出数据及其联系所具有是一组完整性规则(条件)的集合。给出数据及其联系所具有的制约、依赖和存储规则,用于限定数据库的状态和状态变化,保的制约、依赖和存储规则,用于限定数据库的状态和状态变化,保证数据库中的数据的正确、有效、完全和相容。证数据库中的数据的正确、有效、完全和相容。3. 完整性约束(完整性约束(Integrity Constraint):): 用于描述系统的动态特性,是对数据库中的各种对象的实例(值)用于描述系统的动态特性,是对数据库中的各种对象的实例(值)允许执行的操作的集合。主要有查询和更新(插入、删除、修改)两允许执行的操作的集合。主要有查询和更新(插入、删除、修改)两类操作。类操作。 2. 数据操作(数据操作(Data Manipulation) :1. 数据库系统知识回顾数据库系统知识回顾实体联系模型实体联系模型1.41. 一对一的联系,记为一对一的联系,记为 11 2. 一对多的联系,记为一对多的联系,记为 1n3. 多对多的联系,记为多对多的联系,记为 mn实体内部联系实体内部联系实体之间的联系实体之间的联系1. 同一实体型的实体之间的联系同一实体型的实体之间的联系2. 不同实体型的实体之间的联系不同实体型的实体之间的联系1. 数据库系统知识回顾数据库系统知识回顾SQLSQL语言语言1.5SQL是结构化查询语言(是结构化查询语言(Structured Query Language)的英文缩写,它)的英文缩写,它起源于起源于IBM公司公司San Jose研究中心为其关系研究中心为其关系数据库数据库管理系统管理系统System R开发开发的一种查询语言的一种查询语言SQUARE语言。语言。SQL语言之所以成为国际标准,被广大用户接收和使用,是因为它是一语言之所以成为国际标准,被广大用户接收和使用,是因为它是一个综合的、功能强大的、简单易学的语言。它主要有以下几个特点:个综合的、功能强大的、简单易学的语言。它主要有以下几个特点:1.综合统一综合统一2.高度非过程化高度非过程化3.面向集合的操作方式面向集合的操作方式4.灵活的使用方式灵活的使用方式5.语言简洁,易学易用,功能强大语言简洁,易学易用,功能强大1. 数据库系统知识回顾数据库系统知识回顾SQLSQL语言语言基本组成基本组成1.5.1数据定义语言数据定义语言操作对象操作对象操作方式操作方式SQL语句语句模式模式创建创建CREATE SCHEMA AUTHORIZATION ;删除删除DROP SCHEMA CASCADE|RESTRICT;基本表基本表创建创建CREATE TABLE (,列级完整性约束条件列级完整性约束条件,);删除删除DROP TABLE CASCADE|RESTRICT;修改修改ALTER TABLE ADD COLUMN完整性约束完整性约束MODIFY COLUMNDROP COLUMN CASCADE|RESTRICT;视图视图创建创建CREATE VIEW (,)AS WITH CHECK OPTION;删除删除DROP VIEW CASCADE;索引索引创建创建CREATE UNIQUECLUSTER INDEX ON (,);删除删除DROP INDEX ;1. 数据库系统知识回顾数据库系统知识回顾SQLSQL语言语言基本组成基本组成1.5.1数据定义语言(续)数据定义语言(续)域域创建创建CREATE DOMAIN AS DEFAULT CHECK ;删除删除DROP DOMAIN ;存储过程存储过程创建创建CREATE PROCEDURE , , . AS SQL语句语句;修改修改ALTER PROCEDURE , , . AS SQL语句语句;删除删除DROP PROCEDURE ;触发器触发器创建创建CREATE TRIGGER owner. ON owner.表名表名WITH ENCRYPTIONFOR|AFTER|INSTEAD OFINSERT|UPDATE|DELETE ASIF UPDATE(列名列名) AND|ORUPDATE(列名列名)SQL语句语句;修改修改ALTER TRIGGER owner. ON owner.表名表名WITH ENCRYPTIONFOR|AFTER|INSTEAD OFINSERT|UPDATE|DELETE ASIF UPDATE(列名列名) AND|ORUPDATE(列名列名)SQL语句语句;删除删除DROP TRIGGER ;1. 数据库系统知识回顾数据库系统知识回顾SQLSQL语言语言基本组成基本组成1.5.22. 数据操作语言数据操作语言操作对操作对象象操作方式操作方式SQL语句语句基本表基本表查询查询SELECT ALL|DISTINCT,FROM ,WHEREGROUP BYHAVINGORDER BYASC|DESC;插入插入INSERT INTO (,)VALUES(, );更新更新UPDATE SET =,=WHERE ;删除删除DELETE FROM WHERE ;1. 数据库系统知识回顾数据库系统知识回顾SQLSQL语言语言基本组成基本组成1.5.22. 数据操作语言(续)数据操作语言(续)视图视图查询查询SELECT ALL|DISTINCT,FROM ,WHEREGROUP BYHAVINGORDER BYASC|DESC;插入插入INSERT INTO (,)VALUES(, );更新更新UPDATE SET =,=WHERE ;删除删除DELETE FROM WHERE ;1. 数据库系统知识回顾数据库系统知识回顾SQLSQL语言语言基本组成基本组成1.5.23. 数据控制语言数据控制语言操作对象操作对象操作方式操作方式SQL语句语句权限权限授权授权GRANT ,. ON TO ,.WITH OPTION;收权收权REVOKE ,. ON FROM ,.;1. 数据库系统知识回顾数据库系统知识回顾关系代数与关系数据库的查询优化关系代数与关系数据库的查询优化1.6.11. 关系代数语言是非过程化的语言,即:存取数据不必给出路径,存取多关系代数语言是非过程化的语言,即:存取数据不必给出路径,存取多个记录不必借助于循环或递归来实现。个记录不必借助于循环或递归来实现。2. 关系代数操作符主要有传统的集合操作符、专门的关系操作符、比较操关系代数操作符主要有传统的集合操作符、专门的关系操作符、比较操作符和逻辑操作符四大类,如下图所示作符和逻辑操作符四大类,如下图所示传统的集合