第8章数据库新技术介绍 数据库技术的发展及展望
第一代数据库系统指层次模型数据库系统和网状模型数据库系统。
在层次模型中,数据用记录的集合表示,记录组织成树型结构。 在网状模型中,数据用记录的集合表示,记录组织成有向图结构。
第一代数据库系统在数据库技术的发展历程中处于重要的地位,确立了数据库的基本概念和方法,标志着数据管理由文件系统阶段进入了数据库系统阶段。
数据库技术的发展及展望
第二代数据库系统指支持关系模型的数据库系统。 关系数据模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。
关系数据库系统方面的研究成果
奠定了关系模型的理论基础,给出了人们一致接受的关系模型的规范说明。
研究了关系数据语言,包括关系代数、关系演算、SQL、QBE等。
研制了大量的关系数据库管理系统,攻克了系统实现中查询优化、并发控制、故障恢复等一系列关键技术。促进了DBMS产品的的蓬勃发展和广泛应用。
数据库技术的发展及展望
近年来,随着数据库技术的发展,数据库应用已经不仅局限在商务数据处理的范畴,新的数据库应用领域包括:计算机辅助设计(CAD)、计算机辅助软件工程(CASE)、多媒体数据库、办公信息系统(OIS)、超文本数据库等。 这些新领域中的应用在某些方面超出了关系数据模型所支持的特征,关系模型已
不足以对这些新应用所需要的数据进行建模。因此出现了一些新的数据库系统,称为第三代数据库系统,如分布式数据库系统、并行数据库系统和面向对象的数据库系统等。
第三代数据库系统的特点为:支持更加丰富的对象结构和规则;包含第二代DBMS;对其他子系统(工具和多数据库中间件产品)开放。
分布式数据库系统
分布式数据库系统的特点 分布式数据库系统的体系结构 数据分布带来的问题
分布式数据库系统的主要特点
分布性 局部自主 可靠性和可用性 效率和灵活性 系统易于实现扩展
数据的分布方式
划分式
在这种数据分布方式中,数据按其用途和来源,分布在各个结点上,彼此之间没有任何重复。
全重复式
在这种数据分布方式中,每个结点拥有全部数据的一个复本。
部分重复式
部分重复方式是前两种方式的折中。在这种数据分布方式中,根据需要,有些数据只分布到某一结点上,有些数据重复分布到多个结点上。这是一个普遍的数据分布方式。
分布式数据库系统的体系结构
逻辑上集中的方式
应用程序经用户接口处理,提取有关数据库访问部分,作为一个全局事务,由DDBMS执行。 全局事务一般用某种数据库语言表示,DDBMS首先进行语法、词法分析,把数据库语言语
句转换成内部表示形式,例如语法树。这种语法树所表示的查询未涉及数据分布问题,称全局查询。
逻辑上分布的方式
在实际应用中,往往先建立独立的数据库系统,待发展到一定阶段后,才将这些已运行的、而且一般是异构的数据库系统集成起来。
如果采用逻辑上集中的系统结构,则必须将原有的、独立发展起来的数据模式集成为一个全局数据模式,在运行过程中,不可避免地要修改原有的数据模式,从而要修改在这些数据模式基础上开发的应用程序。
分布式数据库系统 数据分布带来的问题
保持多复本一致性 保持分布一致性 全局查询的处理 分布事务的管理
并行数据库系统
并行数据库系统概述 并行数据库系统的体系结构 数据库并行化带来的问题
并行数据库系统概述
并行数据库系统不仅可以提高数据库系统的性能和改善可扩充性,而且也有很好的性能价格比。并行处理最早用于计算密集型应用,例如科学计算。
在这类应用中,CPU处理能力是性能的瓶颈。
为了提高处理能力,最简单的方法是用多个相同的CPU并行处理,以取代单个CPU。这是目前常用的对称多处理结构。
随着微处理机芯片性能价格比的提高,用大量微处理机以各种各样拓
扑结构连成的大规模并行处理机结构日益受到重视。
并行化粒度
事务是数据库系统的执行单位。在一个事务中,又可能包含若干运算,例如连接、选择、投影等。
在每一个运算中,又可能包含若干操作步骤。在数据库系统并行化时,就存在一个并行化粒度的选择问题,也就是并行执行单位的大小问题。
事务间并行
即以事务作为并行执行单位。对单个事务来说,仍然串行执行,但系统中允许多个事务并行执行。
显然,这种并行只能提高系统的吞吐率,而对减少事务的响应时间没有好处。
事务内并行
即单个事务可以分解成多个执行单位,并行执行。 事务内并行既可以提高吞吐率,也可以缩短响应时间,事务内并行又可以分成以下两种情况。
运算间并行 运算内并行
操作的并行性
要实现事务内并行,首先要识别可并行执行的操作或操作步,即发现事务内在的并行性。
独立并行性
流水线并行性 分割并行性
并行数据库系统的体系结构
全共享并行结构是指多个处理机通过互连网络相连,并共享磁盘和内存。
无共享并行结构是指每个CPU都有各自的内存及一个或多个磁盘,组成一个完整的、相对独立的计算机系统,这些计算机系统称为结点。 共享磁盘并行结构是指每个CPU有自己的内存,但磁盘是共享的。各个CPU可以通过互连网络访问任一磁盘。
将以上三种结构结合起来,形成一种分层并行结构。
全共享并行结构
无共享并行结构 共享磁盘并行结构 分层并行结构
数据库并行化带来的问题
在实际运行中,各个并行操作的CPU所分配到的数据不一定均衡,而并行操作要等所有并行操作的CPU都完成其操作才算完成。
在并行数据库系统中,既因系统并行化而增加了资源,也因系统并行化而增加了开销。
随着系统中硬件设备的增多,系统的可靠性也将相应地下降。