《数据库原理与应用概论(数据库新技术).ppt》由会员分享,可在线阅读,更多相关《数据库原理与应用概论(数据库新技术).ppt(50页珍藏版)》请在三一办公上搜索。
1、数据库原理与应用概论,第七章 数据库新技术,第七章 数据库新技术,数据库新技术概述面向对象数据库系统分布式数据库系统并行数据库系统数据仓库与数据挖掘,7.1 数据库新技术概述,1.新一代数据库系统的特点(1)面向对象的方法和技术对数据库发展的影响最为深远(2)数据库技术与多学科技术的有机结合(3)面向应用领域的数据库技术的研究,2.第三代数据库系统的基本特征,(1)第三代数据库系统应支持数据管理、对象管理和知识管理(2)第三代数据库系统必须保持或继承第二代数据库系统的技术(3)第三代数据库系统必须对其它系统开放,7.2 面向对象数据库系统,7.2.1 面向对象数据库系统概述 面向对象数据库系统
2、(Object Oriented Database System,简称为OODBS)是数据库技术与面向对象程序设计相结合的产物。1.面向对象数据库系统主要研究的问题有:对象数据模型高效的查询语言并发的事务处理技术对象的存储管理版本管理等,2.面向对象数据库系统的功能要求,(1)在数据模型方面,引入面向对象的概念:对象、类、对象标识、封装、继承、多态性、类层次结构等。(2)在数据库管理方面,提供对持久对象、长事务的处理、并发控制、完整性约束、版本管理和模式演化等能力。(3)在数据库界面方面,支持消息传递,提供计算能力完备的数据库语言,解决数据库语言与宿主语言的失配问题,并且数据库语言应具有类似S
3、QL的非过程化的查询功能。除此之外,面向对象数据库系统还要求兼顾对传统的关系数据的管理能力,7.2.2 面向对象的基本概念,1面向对象的核心概念(1)对象:数据库中的每个事物都看作是一个对象,而且每个对象是惟一可标识的。对象可以是有形的或抽象的,简单的或复杂的。(2)对象标识:每个对象有一个唯一的标识,称为对象标识(OID)。OID是独立于属性值的、系统全局惟一的。OID用来标识两个不同的对象,常见的OID有以下几种:值标识:用值来表示标识。这是关系数据库中使用的标识形式。名标识:用户提供一个名字来表示标识。这是程序变量标识的一种典型表示形式。程序中的每个变量被赋予一个名字,变量名可以唯一地标
4、识每个变量,不需要考虑变量的值。内标识:标识的概念建立在数据模型或程序设计语言中,不要求用户给出标识。这种形式的标识是面向对象数据库系统使用的标识形式。,(3)类:共享同样属性和方法的所有对象构成了一个对象类(CLASS),一个对象是某一个类的实例。(4)封装:每一个对象是其属性与行为的封装,其中属性是该对象一系列属性值的集合,行为是在对象属性上操作的集合,操作也被称为方法。(5)继承:在OO模型中有两种继承:单继承与多重继承。若一个子类只能继承一个超类的特性,这种继承称为单继承;若一个子类继承多个超类的特性,这种继承称为多重继承。(6)消息:对象是封装的,对象与外部的通信一般通过显式的消息传
5、递,即消息从外部传送给对象,存取和调用对象中的属性和方法,在内部执行所要求的操作,而操作的结果仍以消息的形式返回。,2对象间的联系,(1)类层次,某学校数据库的类层次结构图 对一个类来说,它可以有多个超类,也可以继承类层次中其直接或间接超类的属性和方法。超类与子类结构在语义上具有泛化与特化的关系,也即常说的Is-a关系。,(2)对象包含,类之间的包含关系表现了事物的局部与整体关系(组合关系),即a-part-of关系。一个包含了其他对象的对象称为复合对象。复合对象主要的三种形式。具有共享子对象的网络结构 组合对象层次结构 聚合属性,7.2.3 面向对象设计方法,面向对象是一种先进的设计方法学,
6、也是一种认知方法学,相应的程序设计语言主要有C+、JAVA等。面向对象设计就是把数据结构和数据结构上的操作算法封装在一个对象之中。在面向对象程序设计中,操作名列在封装对象的界面上,当其他对象要启动它的某个操作时,以操作名发送一条消息,该对象接收消息,执行具体的行为动作序列,完成对成员数据的加工。当一个面向对象的程序运行完毕时,各对象也就达到了各自的终态。输入、输出也由对象自己完成。面向对象程序设计方法所支持的封装、继承等特性提供了同时表示、同时管理程序和数据的统一框架。,7.2.4 面向对象数据库,面向对象数据库系统支持面向对象数据模型,是一个持久的、可共享的对象库的存储和管理者;而一个对象库
7、是由一个OO模型所定义的对象集合体。1持久性 持久性是指一个对象在超过其生存周期后的保存,就是将临时对象存储到磁盘上,转换为永久对象,使对象的存活期与创建它的进程无关,以解决对象的重用问题。一个标识的持久性主要有以下几种情况:(1)过程内持久标识(Intraprocedure Identity)(2)程序内持久标识(Intraprogram Identity)标识只在一个程序或查询的执行中持久有效。例如,对于一个程序中全局变量的标识,在该程序的运行中有效。(3)程序间持久标识(Interprogram Identity)(4)持久标识(Persistent Identity)面向对象数据库系统
8、要求存储永久对象。,2面向对象数据库 面向对象数据库模式是类的集合。面向对象的数据模型提供了类层次结构。在面向对象数据库模式中,一组类可形成一个类层次。一个面向对象数据库可能有多个类层次。3面向对象数据库的特性(1)滞后联编(2)对象的嵌套,7.2.5 面向对象数据库语言,OODB语言用于描述面向对象数据库模式,说明并操纵类定义与对象实例。OODB语言主要包括对象定义语言(ODL)和对象操纵语言(OML),对象操纵语言中一个重要子集是对象查询语言。OODB语言一般应具备下列功能:(1)类的定义与操纵(2)操作/方法的定义(3)对象的操纵,7.2.6 面向对象数据库的模式演进,面向对象数据库的模
9、式是类的集合。模式为适应需求变化而随着时间变化称为模式演进。模式演进包括建立新的类、删除旧的类、修改类的属性和操作等。面向对象数据库模式的修改要比关系模式的修改复杂,其主要原因有两点:(1)模式改变频繁。OODB应用通常需要频繁地改变OODB数据库模式。(2)模式修改复杂。OO模型具有很强的建模能力和丰富的语义,包括类自身的语义、类属性之间和类之间丰富的语义联系,可能使模式修改操作复杂多样。在OODB中,模式演进往往是动态的。,1模式一致性 模式一致性是指模式自身内部不能出现矛盾和错误,它由模式一致性约束来刻画。模式的演进必须要保持模式的一致性。模式一致性约束可分为:(1)惟一性约束:这一类约
10、束条件要求名字惟一性。例如,在同一模式中所有类的名字必须惟一;类中属性名和方法名必须惟一,包括从超类中继承的属性和方法。但模式的不同种类的成分可以同名,如属性的名字和方法可以同名。(2)存在性约束:显式引用的某些成分必须存在。例如,不能引用一个没有在模式中定义的类。(3)子类型约束:例如,不允许有从多继承带来的任何冲突等。,2模式演进的操作与实现 模式演进操作主要有:(1)类集的改变,包括创建新的类,删除已有类,改变已有类等等。(2)已有类的成分的改变,包括增加新的属性或新的操作/方法,删除已有的属性或操作,改变已有属性的名字或类型,改变一个操作的名称或操作的实现。(3)子类/超类之间联系的改
11、变,包括增加一个新的超类、删除一个已有超类。所谓转换方法是指在OO数据库中,已有的对象将要根据新的模式结构进行转换,以适应新的模式。根据转换发生的时间有以下转换方式:立即转换方式。一旦模式变化立即执行所有变换,缺点是系统为了执行转换需要消耗一些时间。延迟转换方式。模式变化后不是立即执行,而是延迟到低层数据库载入时,或者延迟到该对象被存取时才执行变换。缺点是应用程序存取一个对象时,要把它的结构与其所属类的定义比较,完成必须的修改,处理效率较低。多模式版本方式。,7.2.7 面向对象数据库的事务管理,1长事务2嵌套的事务3合作事务,7.3 分布式数据库系统,20世纪70年代,由于计算机网络通信的迅
12、速发展,以及地理上分散的公司、团体和组织对数据库更为广泛应用的需求,在集中式数据库系统成熟技术的基础上诞生和发展了分布式数据库系统(Distributed Database System,DDBS)。分布式数据库系统是数据库技术和网络技术两者相互渗透和有机组合的结果。经过20多年的发展,分布式数据库系统已发展得相当成熟,并产生了一些产品,如Ingres公司的Ingres/Star,IBM San Jose实验室开发的分布式数据库系统System R*,Oracle公司的SQL*Star等。,7.3.1 分布式数据库概述,1分布式数据库系统的概念 一个分布式数据库系统强调数据的分布性,数据分布存
13、储在网络的不同计算机(又称结点或场地)上,各个场地既具有高度的自治性,同时又强调各场地系统之间的协作性。对使用数据库中数据的用户来说,一个分布式数据库系统在逻辑上看就如同一个集中式数据库系统一样,用户可以在任何一个场地执行全局应用和(或)局部应用。,一个分布式数据库系统的示意图,2分布式数据库系统的特点下面来概括一下分布式数据库系统的三个主要特点:(1)数据的物理分布性。(2)数据的逻辑整体性。(3)结点的自主性。3分布式数据库系统的透明性(1)位置透明性(2)复制透明性4分布式数据库系统的分类(1)同构同质型DDBS。(2)同构异质型DDBS。(3)异构型DDBS。,7.3.2 分布式数据库
14、系统的体系结构,1分布式数据库系统的体系结构,分布式数据库系统的体系结构,2数据分配,集中式 分割式 复制式 混合式 进行数据分配时注意把握以下一些原则:尽量把本地需要的数据存储在本地,减少远程通信操作的开销;保证数据的可用性和系统的可靠性;尽量平衡各个场地的负载,提高整个系统的并行处理能力等,7.3.3 分布式数据库管理系统,1分布式数据库管理系统的组成LDBMS(Local DBMS):即局部场地上的数据库管理系统,其功能是建立和管理局部数据库,提供场地自治能力,执行局部应用及全局查询的子查询。GDBMS(Global DBMS):即全局数据库管理系统,主要功能是提供分布透明性,协调全局事
15、务的执行,协调各局部DBMS以完成全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步,提供全局恢复功能等。全局数据字典(Global Data Directory,简称GDD):用来存放全局概念模式、分片模式、分布模式的定义以及各模式之间映像的定义,存放用户存取权限的定义,以保证全部用户的合法权限和数据库的安全性;另外,还存放数据完整性约束条件的定义,其功能与集中式数据库的数据字典类似。通信管理(Communication Management,简称CM):负责在分布式数据库的各场地之间传送消息和数据,完成通信功能。,2分布式数据库管理系统的分类其按全局控制方式可以分为以下3种:(1
16、)全局控制集中的DDBMS(2)全局控制分散的DDBMS(3)全局控制部分分散的DDBMS按局部DBMS的类型分类 它区分不同DDBMS的一个重要特性是:局部DBMS是同构的还是异构的。同构和异构的级别可以有三级:硬件、操作系统和局部DBMS。,7.3.4 分布式数据库查询处理和优化,1查询优化的意义2查询优化要做的工作(1)全局查询分解(2)确定操作执行的次序(3)确定执行操作的方法 3分布式查询处理的层次结构,分布式查询处理的层次模式,7.3.5 分布事务管理,1分布事务的恢复 为了执行分布事务,通常在每个场地上都设立一个局部事务管理器,用来管理局部子事务的执行,保证子事务的完整性。同时,
17、这些局部管理器之间还必须相互协调,保证所有场地对它们所处理的子事务采取同样的策略:要么都提交,要么都回滚。为了保证这一策略,最常用的技术是两段提交协议(简称2PC)。两段提交协议把一个分布事务的事务管理分为两类:协调者,所有其他的是参与者。只有协调者才有掌握提交或撤消事务的决定权,而所有参与者各自负责在其本地数据库中执行写操作,并向协调者提出撤消或提交子事务的意向。,两段提交协议的内容如下:(1)第一阶段:开始时,协调者在它的日志中写入一条开始提交的记录,再向所有参与者发出“准备提交”信息,并进入等待状态。当参与者收到“准备”消息后,它检查是否能够提交本地事务。如果某个参与者准备提交,就在日志
18、中写入一条就绪记录,并向协调者发送“建议提交”信息,然后进入就绪状态;否则,参与者写入撤消记录,并向协调者发送“撤销”信息。如果在规定时间内协调者收到了所有参与者“建议提交”的信息,则将做出提交的决定,否则将做出撤销的决定。(2)第二阶段:协调者将有关决定的信息先写入日志,然后把这个决定发送给所有的参与者。所有参与者收到命令之后,首先往日志中写入“收到提交(或撤销)”决定的信息,并向协调者发送“应答”消息,最后执行有关决定。协调者收到所有参与者的应答消息后,一个事务的执行到此结束,有关日志信息可以脱机保存。,2并发控制 在分布式数据库系统中,并发控制也可采用封锁技术,不过与集中式数据库系统相比
19、,分布式数据库系统要支持多副本以及因事务的分布执行其封锁的方法可能会引起全局死锁这两个原因,使得并发控制更为复杂。为了解决多副本问题,分布事务管理就要把“事务Tl对d的X封锁”这件事让d副本所在场地上的事务管理器都知道,一个简单的方法是向这些场地的事务管理器发出局部封锁请求,这个办法是有效的;但封锁的冗余度很大,局部封锁的数目和副本数相同。,为了减少系统开销,处理多副本的封锁可采取如下几种方法:(1)对写操作,要申请对所有副本的X锁。对于读操作,只要申请对某个副本的S锁。(2)无论是写操作,还是读操作都要对多数(大于半数)副本申请X锁或S锁。(3)规定某个场地上的副本为主副本,所有的读写操作均
20、申请对主副本的封锁。,7.4 并行数据库系统,并行数据库系统是新一代高性能的数据库技术和并行计算机技术相结合的数据库系统,主要致力于开发数据操作的时间并行性和空间并行性,基于对象模型的并行数据库也是一个重要的研究方向。一个并行数据库系统应该实现如下目标:(1)高性能:并行数据库系统通过将数据库管理技术与并行处理技术有机结合,发挥多处理机结构的优势,从而提供比相应的大型机系统要高得多的性能价格比和可用性。(2)高可用性:并行数据库系统可通过数据复制来增强数据库的可用性。(3)可扩充性:数据库系统的可扩充性指系统通过增加处理和存储能力而平滑地扩展性能的能力。,7.4.1 并行数据库系统体系结构,1
21、共享内存型(SM结构)2共享磁盘型(SD结构)3无共享型(Shared Nothing)4混合型结构,并行数据库系统体系结构,7.4.2 并行数据库系统并行处理技术简介,1并行处理的基本概念(1)并行执行计划 在并行处理环境中的执行计划称为并行执行计划(Parallel Plan,简称PP)。它对应于传统的顺序执行计划(Sequential Plan,简称SP)。(2)并行化方案 如果一个查询Q的某个并行执行计划PP与Q的一个顺序执行计划SP对应于相同的操作树,则称PP为SP的一个并行化方案。(3)并行化 由顺序执行计划SP得到某个并行执行计划PP的过程称为并行化。(4)并行粒度 执行的并行程
22、度称为并行粒度。一般来讲,并行粒度越细,并行化程度就越高,实现起来就越复杂。并行数据库通过开发事务间、查询间、操作间以及操作内四个不同粒度的并行性来满足数据库应用环境中对事务吞吐量和响应时间的要求。,2并行粒度(1)事务间并行(2)查询内并行(3)操作内并行(4)操作间并行流水线并行 独立并行 3并行化形式,并行化形式,4并行操作算法并行连接算法并行扫描算法并行排序算法 5.并行数据库的物理组织 并行数据库的物理组织的核心问题是如何在多个处理结点之间分布每个数据库关系,使查询处理时间最小化。(1)并行数据库的数据划分(2)并行数据库的数据复制(3)并行数据库的数据重组,7.5 数据仓库与数据挖
23、掘,随着信息技术的发展,数据和数据库的急剧增长,数据库应用的规模、范围和深度不断扩大。一般的事务处理已不能满足应用的需求,企业需要能充分利用已有的数据资源,获得有价值的信息,挖掘企业的竞争优势,提高企业运作效率和指导企业决策。数据仓库(Data Warehouse,简称DW)技术的兴起满足了这一要求。数据仓库是在数据库基础上发展而来的,它通常包括三个部分:数据库技术、联机分析处理技术(Online Analytical Processing,简称OLAP)及数据挖掘技术(Data Mining,简称DM),它们之间具有极强的互补关系。,7.5.1 数据仓库概念与结构,1数据仓库概念 Willi
24、am H.Inmonn在建立数据仓库(Building the Data Warehouse)一书中对数据仓库作了如下定义:“数据仓库是面向主题的、集成的、稳定的、随时间变化的数据集合,用以支持经营管理中的决策分析过程。”他还对数据仓库作了进一步的描述:数据仓库提供集成化的和历史化的数据;它集成种类不同的应用系统,并从事物发展和历史的角度来组织和存储数据,以供信息化和分析处理之用。数据仓库有以下几个特征:(1)数据仓库是面向主题的。(2)数据仓库是集成的。(3)数据仓库是稳定的。(4)数据仓库是随时间变化的。,2数据仓库的结构,(1)数据仓库的体系结构,数据仓库系统的基本体系结构,(2)数据仓
25、库数据的层次结构,数据仓库中数据的层次结构,3数据仓库的数据组织(1)数据仓库的概念模型 数据仓库的数据概念模型是多维数据模型,它直接影响到前端工具、数据存储的设计和OLAP的查询引擎。在多维数据模型中,一部分数据是数字测量值,它们是依赖于一组“维”的,这些维提供了测量值的关联关系。多维数据模型就是把测量的值放在这样一些有层次的维构成的多维空间中。(2)数据仓库的数据组织虚拟存储方式 基于关系表的存储方式星型模型雪花模型星网模型 多维数据库组织存储方式,星型模型,雪花模型,7.5.2 数据仓库设计和实现,1数据仓库设计自顶向下模式:对分散在企业各处的数据库中的数据集成建立全局性的数据仓库。数据
26、集市中的数据是为某部门DSS应用而从数据仓库中抽取的。数据集市中的数据是数据仓库数据的一个子集。数据从数据仓库流向数据集市。自底向上模式:从建立各部门或特定商业问题的数据集市开始,全局性数据仓库建立在数据集市的基础上。即数据从数据集市流向数据仓库。特点是投资少、见效快。平行开发模式:在一个全局性数据仓库的数据模型的指导下,数据集市和全局性数据仓库的建立同时进行。,2数据仓库的实现(1)数据仓库的设计与建模(2)数据集成(3)数据的存储与管理(4)数据分析与展现,7.5.3 联机分析处理(OLAP),1联机分析处理的概念 联机分析处理是针对特定问题的联机数据访问和分析的软件技术。它使分析人员、经
27、理、管理人员通过对信息(这些信息从原始数据转换而来,反映了用户所能理解的企业的真实的“维”)的多种可能的观察角度进行快速、一致和交互性的存取以获得对信息的深入理解。2多维数据分析(1)切片和切块(2)钻取(3)旋转,7.5.4 数据挖掘,1数据挖掘的概念 数据挖掘是从大量数据或数据仓库中提取正确、新颖、潜在有用和最终可理解的知识的高级处理过程。数据挖掘的对象是数据集合,它包括数据库、数据仓库、文件系统或其他组织在一起的数据集合。所提取的这些知识是隐含的、事先未知的有用信息,其表现为概念、规则、模式、规律等形式,以帮助管理者做出正确的决策。2数据挖掘的过程(1)确定目标(2)数据准备(3)数据挖
28、掘(4)评价、巩固和运用挖掘结果,3数据挖掘的模式 数据挖掘就是从数据中发现模式。模式是一个用语言L来表示的一个表达式E,它可用来描述数据集D中数据的特性,E所描述的数据是集合D的一个子集DE。E作为一个模式要求它比列举数据子集DE中所有元素的描述方法简单。预测型(Predictive)模式描述型(Descriptive)模式 数据挖掘方法:关联分析 序列模式分析 分类分析 聚类分析,4关联规则技术(1)基本问题关联规则挖掘问题可分解为以下两个问题:找出事务数据库TDB中所有大于等于用户指定最小支持度的项目集(itemset)。具有最小支持度的项目集称为频繁项目集,项目集的支持数指该项目集的数目。利用频繁项目集生成所需要的关联规则。对每一个频繁项目集A,找到A的所有非空子集a,如果比率support(A)/support(a)=minsup,就生成关联规则 a=(A-a)。support(A)/support(a),即规则a=(A-a)的置信度。(2)搜索策略自底向上搜索(Bottom-Up Search)自顶向下搜索(Top-Down Search)混合搜索(Hybrid Search),5分类 分类是根据对已知样本的学习构造一个分类器模型,利用分类器对未知类别的样本赋予类别的一种技术。,分类过程,下课了。,休息一会儿。,研究,