2020/6/6数据库技术及应用1第8章数据库新技术介绍数据库技术的发展及展望分布式数据库系统并行数据库系统面向对象数据库系统数据仓库和数据挖掘技术2020/6/6数据库技术及应用2数据库技术的发展及展望第一代数据库系统指层次模型数据库系统和网状模型数据库系统。在层次模型中,数据用记录的集合表示,记录组织成树型结构。在网状模型中,数据用记录的集合表示,记录组织成有向图结构。第一代数据库系统在数据库技术的发展历程中处于重要的地位,确立了数据库的基本概念和方法,标志着数据管理由文件系统阶段进入了数据库系统阶段。2020/6/6数据库技术及应用3数据库技术的发展及展望第二代数据库系统指支持关系模型的数据库系统。关系数据模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。2020/6/6数据库技术及应用4关系数据库系统方面的研究成果奠定了关系模型的理论基础,给出了人们一致接受的关系模型的规范说明。研究了关系数据语言,包括关系代数、关系演算、SQL、QBE等。研制了大量的关系数据库管理系统,攻克了系统实现中查询优化、并发控制、故障恢复等一系列关键技术。促进了DBMS产品的的蓬勃发展和广泛应用。2020/6/6数据库技术及应用5数据库技术的发展及展望近年来,随着数据库技术的发展,数据库应用已经不仅局限在商务数据处理的范畴,新的数据库应用领域包括:计算机辅助设计(CAD)、计算机辅助软件工程(CASE)、多媒体数据库、办公信息系统(OIS)、超文本数据库等。这些新领域中的应用在某些方面超出了关系数据模型所支持的特征,关系模型已不足以对这些新应用所需要的数据进行建模。因此出现了一些新的数据库系统,称为第三代数据库系统,如分布式数据库系统、并行数据库系统和面向对象的数据库系统等。第三代数据库系统的特点为:支持更加丰富的对象结构和规则;包含第二代DBMS;对其他子系统(工具和多数据库中间件产品)开放。2020/6/6数据库技术及应用6分布式数据库系统分布式数据库系统的特点分布式数据库系统的体系结构数据分布带来的问题2020/6/6数据库技术及应用7分布式数据库系统的主要特点分布性局部自主可靠性和可用性效率和灵活性系统易于实现扩展2020/6/6数据库技术及应用8数据的分布方式划分式在这种数据分布方式中,数据按其用途和来源,分布在各个结点上,彼此之间没有任何重复。全重复式在这种数据分布方式中,每个结点拥有全部数据的一个复本。部分重复式部分重复方式是前两种方式的折中。在这种数据分布方式中,根据需要,有些数据只分布到某一结点上,有些数据重复分布到多个结点上。这是一个普遍的数据分布方式。2020/6/6数据库技术及应用9分布式数据库系统的体系结构逻辑上集中的方式应用程序经用户接口处理,提取有关数据库访问部分,作为一个全局事务,由DDBMS执行。全局事务一般用某种数据库语言表示,DDBMS首先进行语法、词法分析,把数据库语言语句转换成内部表示形式,例如语法树。这种语法树所表示的查询未涉及数据分布问题,称全局查询。逻辑上分布的方式在实际应用中,往往先建立独立的数据库系统,待发展到一定阶段后,才将这些已运行的、而且一般是异构的数据库系统集成起来。如果采用逻辑上集中的系统结构,则必须将原有的、独立发展起来的数据模式集成为一个全局数据模式,在运行过程中,不可避免地要修改原有的数据模式,从而要修改在这些数据模式基础上开发的应用程序。2020/6/6数据库技术及应用10分布式数据库系统2020/6/6数据库技术及应用11数据分布带来的问题保持多复本一致性保持分布一致性全局查询的处理分布事务的管理2020/6/6数据库技术及应用12并行数据库系统并行数据库系统概述并行数据库系统的体系结构数据库并行化带来的问题2020/6/6数据库技术及应用13并行数据库系统概述并行数据库系统不仅可以提高数据库系统的性能和改善可扩充性,而且也有很好的性能价格比。并行处理最早用于计算密集型应用,例如科学计算。在这类应用中,CPU处理能力是性能的瓶颈。为了提高处理能力,最简单的方法是用多个相同的CPU并行处理,以取代单个CPU。这是目前常用的对称多处理结构。随着微处理机芯片性能价格比的提高,用大量微处理机以各种各样拓扑结构连成的大规模并行处理机结构日益受到重视。2020/6/6数据库技术及应用14并行化粒度事务是数据库系统的执行单位。在一个事务中,又可能包含若干运算,例如连接、选择、投影等。在每一个运算中,又可能包含若干操作步骤。在数据库系统并行化时,就存在一个并行化粒度的选择问题,也就是并行执行单位的大小问题。2020/6/6数据库技术及应用15事务间并行即以事务作为并行执行单位。对单个事务来说,仍然串行执行,但系统中允许多个事务并行执行。显然,这种并行只能提高系统的吞吐率,而对减少事务的响应时间没有好处。2020/6/6数据库技术及应用16事务内并行即单个事务可以分解成多个执行单位,并行执行。事务内并行既可以提高吞吐率,也可以缩短响应时间,事务内并行又可以分成以下两种情况。运算间并行运算内并行2020/6/6数据库技术及应用17操作的并行性要实现事务内并行,首先要识别可并行执行的操作或操作步,即发现事务内在的并行性。独立并行性流水线并行性分割并行性2020/6/6数据库技术及应用18并行数据库系统的体系结构全共享并行结构是指多个处理机通过互连网络相连,并共享磁盘和内存。无共享并行结构是指每个CPU都有各自的内存及一个或多个磁盘,组成一个完整的、相对独立的计算机系统,这些计算机系统称为结点。共享磁盘并行结构是指每个CPU有自己的内存,但磁盘是共享的。各个CPU可以通过互连网络访问任一磁盘。将以上三种结构结合起来,形成一种分层并行结构。2020/6/6数据库技术及应用19全共享并行结构2020/6/6数据库技术及应用20无共享并行结构2020/6/6数据库技术及应用21共享磁盘并行结构2020/6/6数据库技术及应用22分层并行结构2020/6/6数据库技术及应用23数据库并行化带来的问题在实际运行中,各个并行操作的CPU所分配到的数据不一定均衡,而并行操作要等所有并行操作的CPU都完成其操作才算完成。在并行数据库系统中,既因系统并行化而增加了资源,也因系统并行化而增加了开销。随着系统中硬件设备的增多,系统的可靠性也将相应地下降。2020/6/6数据库技术及应用24面向对象数据库系统面向对象技术的基本概念面向对象数据库技术2020/6/6数据库技术及应用25面向对象技术的基本概念一个对象由一组属性和对这组属性进行操作的一组方法构成。属性是用来描述对象静态特征的一个数据项。方法是用来描述对象动态特征的一个操作序列。消息是用来请求对象执行某一操作或回答某些信息的要求。封装是一种信息隐藏技术,对象本身就是一种封装,把一组属性和对这组属性进行的操作结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。一个(或一些)对象是另一个对象的组成部分称作对象包含。包含其他对象的对象称做复合对象。2020/6/6数据库技术及应用26面向对象技术的基本概念类是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。一个类可以从多个超类中继承属性和方法,这称作多继承。在多继承的情况下,类和子类的关系可以用一个有向无环图来表示,其中一个类可以有多于一个的超类。对象的标识是一种概念上的东西,实际的系统需要一种物理机制来惟一标识对象。面向对象系统提供了一种对象标识符的观念来标识对象。对象标识符是惟一的,即每个对象具有单一的标识符,并且没有两个对象具有相同的标识符。2020/6/6数据库技术及应用27面向对象技术与数据库技术的结合面向对象技术与数据库技术相结合的一种途径是以面向对象程序设计语言为基础进行扩展,研究持久的程序设计语言,使之具有数据库功能;或者直接将数据库系统的特性与面向对象程序语言的特性结合起来,研制面向对象的数据库系统。另一种途径是以传统的关系数据库和SQL语言为基础,进行扩展的方法。2020/6/6数据库技术及应用28对象—关系数据库系统对象—关系数据库系统是从关系模型和它的查询语言SQL出发,进行扩展而建立起来的。它以关系数据模型为基础,它的数据库模式的最顶层仍然是命名的关系(表)的集合;它又进行了面向对象的扩充,支持面向对象的模型,因此表中的对象可以很丰富,表已不再是传统意义下符合第一范式的简单的二维表。2020/6/6数据库技术及应用29对象—关系数据库系统特征SQL环境中对基本数据类型扩充的支持SQL环境中对复杂对象的支持SQL环境中对继承性的支持对规则系统的支持2020/6/6数据库技术及应用30数据仓库和数据挖掘技术数据仓库的的概念提出于20世纪80年代中期,它一经提出,就受到数据库用户、DBMS厂商和学术界的重视,应用上的试点和技术上的研究开发几乎同时进行。进入20世纪90年代,数据仓库已由早期的探索阶段走向实用阶段。这是典型的由应用牵引、市场驱动而迅速发展起来的一门技术。2020/6/6数据库技术及应用31数据仓库的特点数据仓库是面向主题的数据仓库的数据是集成的数据仓库的数据是相对稳定的数据仓库数据是反映历史变化的2020/6/6数据库技术及应用32数据挖掘技术随着数据库技术的发展,数据库的数量和规模还在迅速增加。如何从大量的数据中及时有效地提取有用的信息,几乎是所有经营管理者所面临的一个共同难题。为了解决这一课题,研究人员逐步开发出一系列的技术和方法,即数据库知识发现和数据挖掘技术,其目的是要智能化和自动化地把数据转换为有用的信息和知识。2020/6/6数据库技术及应用33数据挖掘的一般过程2020/6/6数据库技术及应用34数据挖掘的基本方法联系分析预测聚类2020/6/6数据库技术及应用35