13章数据库技术发展概述数据库系统概论第五版.docx
- 文档编号:23735782
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:18
- 大小:208.01KB
13章数据库技术发展概述数据库系统概论第五版.docx
《13章数据库技术发展概述数据库系统概论第五版.docx》由会员分享,可在线阅读,更多相关《13章数据库技术发展概述数据库系统概论第五版.docx(18页珍藏版)》请在冰豆网上搜索。
13章数据库技术发展概述数据库系统概论第五版
第13章数据库技术发展概述
数据库技术从理论研究到原型开发与技术攻关,再到实际产品研制和应用,形成了良性循环,成为计算机领域的成功典范,也吸引了学术界和工业界众多的科技人员,使得数据库研究日新月异,新技术、新系统层出不穷,科技队伍也不断壮大。
本章第一部分(13.1〜13.3节)以数据模型、数据库应用、数据库管理系统开发技术三个方面为主线概述数据库的发展历程,展示数据库在理论、应用、系统开发等研究和应用领域的主要内容与成就。
其目的在于提供一个宏观、总体的视图,使读者了解数据库技术的发展过程,了解数据库分支的基本内容以及这些分支之间的相互联系。
本章第二部分(13.4节)简单介绍当前大数据时代数据管理技术遇到的挑战以及数据管理新技术的发展与展望。
13.1数据库技术发展历史回顾
数据库技术产生于20世纪60年代中期,至今仅仅50年的历史,已经历了三代演变,造就了C.W.Bachman、E.F.Codd和JamesGray三位图灵奖得主,发展了以数据建模和数据库管理系统核心技术(如物理和逻辑独立性、描述性查询和基于代价的优化等)为主,内容丰富的一门学科,带动了一个巨大的软件产业,这50年可谓成就辉煌。
更重要的是,这些技术的进步使第一代智能应用成为可能,并为现在的大数据管理和分析奠定了基础。
数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与智能应用系统的核心技术和重要基础。
当今数据库系统是一个大家族,数据模型丰富多样,新技术内容层出不穷,应用领域广泛深入。
当读者步入数据库领域时,面对众多复杂的数据库技术和系统难免产生迷惑和混乱。
图13.1通过一个三维视图从数据模型、相关技术、应用领域三个方面描述了数据库系统的发展历史、特点和相互关系。
图13.1数据库系统的发展和相互关系示意图
13.2数据库发展的三个阶段
数据模型是数据库系统的核心和基础。
依据数据模型的进展,数据库技术可以相应地分为三个发展阶段,即第一代的网状、层次数据库系统,第二代的关系数据库系统,以及新一代的数据库大家族。
13.2.1第一代数据库系统
层次模型和网状模型都是格式化模型。
它们从体系结构、数据库语言到数据存储管理均具有共同特征,是第一代数据库系统。
第一代数据库系统有如下两类代表:
(1)1969年由IBM公司研制的层次模型数据库管理系统IMS。
(2)美国数据库系统语言研究会(CODASYL)下属的数据库任务组(DBTG)对数据库方法进行了系统的研究和探讨,于20世纪60年代末70年代初提出了若干报告,称为DBTG报告。
DBTG报告确定并建立了数据库系统的许多概念、方法和技术。
DBTG所提议的方法是基于网状结构的,是网状模型数据库系统的典型代表。
这两类数据库系统具有以下几个共同特点。
(1)支持三级模式(外模式、模式、内模式)的体系结构。
模式之间具有转换(或称为映射)功能。
(2)用存取路径来表示数据之间的联系。
这是数据库系统和文件系统的主要区别之一。
数据库不仅存储数据,而且存储数据之间的联系。
数据之间的联系在层次和网状数据库系统中都是用存取路径来表示和实现的。
(3)独立的数据定义语言。
层次数据库系统和网状数据库系统有独立的数据定义语言,用以描述数据库的三级模式以及相互映像。
诸模式一经定义,就很难修改。
(4)导航的数据操纵语言。
层次和网状数据库的数据查询和数据操纵语言是一次一个记录的导航式的过程化语言。
这类语言通常嵌入某一种高级语言,如COBOL、FORTRAN、PL/1、C语言中。
导航式数据操纵语言的优点是按照预设的路径存取数据,效率高;缺点是编程繁琐,应用程序的可移植性较差,数据的逻辑独立性也较差。
13.2.2第二代数据库系统
支持关系数据模型的关系数据库系统是第二代数据库系统。
1970年,IBM公司SanJose研究室的研究员E.F.Codd发表了题为《大型共享数据库数据的关系模型》论文,提出了数据库的关系模型,开创了数据库关系方法和关系数据理论的研究,为关系数据库技术奠定了理论基础。
20世纪70年代是关系数据库理论研究和原型开发的时代。
经过大量高层次的研究和开发取得了以下主要成果:
(1)奠定了关系模型的理论基础,给出了人们一致接受的关系模型的规范说明。
(2)研究了关系数据语言,包括关系代数、关系演算、SQL及QBE等。
确立了SQL为关系数据库语言标准。
由于不同数据库都使用SQL作为共同的数据语言和标准接口,使不同数据库系统之间的互操作有了共同的基础,为数据库的产业化和广泛应用打下基础。
(3)研制了大量的关系数据库管理系统原型,其中以IBMSanJose研究室开发的SystemR和Berkeley大学研制的INGRES为典型代表,攻克了系统实现中查询优化、事务管理、并发控制、故障恢复等一系列关键技术。
这不仅大大丰富了数据库管理系统实现技术和数据库理论,更促进了数据库的产业化。
第二代关系数据库系统具有模型简单清晰、理论基础好、数据独立性强、数据库语言非过程化和标准化等特色。
13.2.3新一代数据库系统
第一、二代数据库系统的数据模型虽然描述了现实世界数据的结构和一些重要的相互联系,但是仍不能捕捉和表达数据对象所具有的丰富而重要的语义。
新一代数据库系统以更丰富多样的数据模型和数据管理功能为特征,满足广泛复杂的新应用的要求。
新一代数据库技术的研究和发展导致了众多不同于第一、二代数据库的系统诞生,构成了当今数据库系统的大家族。
这些新的数据库系统无论是基于面向对象模型还是基于对象关系(OR)数据模型,是分布式、客户机-服务器体系结构,还是混合式体系结构,是在SMP还是在MPP并行机上运行的并行数据库系统,乃至是应用于某一领域(如工程、统计、地理信息系统)的工程数据库、统计数据库、空间数据库等,都可以广泛地称之为新一代数据库系统。
1990年,高级DBMS功能委员会发表了《第三代数据库系统宣言》的文章(以下简称《宣言》),提出了第三代DBMS应具有的三个基本特征(称为三条基本原则),从三个基本特征导出了13个具体的特征和功能(称为13个命题)。
这三个基本特征是:
(1)第三代数据库系统应支持数据管理、对象管理和知识管理。
除提供传统的数据管理服务外,第三代数据库系统将支持更加丰富的对象结构和规则,应集数据管理、对象管理和知识管理为一体。
第三代数据库系统不像第二代关系数据库那样有一个统一的关系模型,《宣言》认为无论该数据库系统支持何种复杂的、非传统的数据模型,它都应该具有面向对象模型的基本特征。
(2)第三代数据库系统必须保持或继承第二代数据库系统的技术。
第三代数据库系统应继承第二代数据库系统已有的技术;保持第二代数据库系统的非过程化数据存取方式和数据独立性,这不仅能很好的支持对象管理和规则管理,而且能更好地支持原有的数据管理,支持多数用户需要的即席查询等。
(3)第三代数据库系统必须对其他系统开放。
数据库系统的开放性表现在支持数据库语言标准;在网络上支持标准网络协议;系统具有良好的可移植性、可连接性、可扩展性和可互操作性等。
13.3数据库系统发展的特点
本节按照13.1节介绍的图13.1,从数据模型、相关技术、应用领域三个方面来描述数据库系统发展的特点及其相互关系。
13.3.1数据模型的发展
数据库的发展集中表现在数据模型的发展上。
从最初的层次、网状数据模型发展到关系数据模型,数据库技术产生了巨大的飞跃。
关系模型的提出是数据库发展史上具有划时代意义的重大事件。
关系理论研究和关系数据库管理系统研制的巨大成功进一步促进了关系数据库的发展,使关系数据模型成为具有统治地位的数据模型。
随着数据库应用领域的扩展以及数据对象的多样化,传统的关系数据模型开始暴露出许多弱点,如对复杂对象的表示能力较差,语义表达能力较弱,缺乏灵活丰富的建模能力,对文本、时间、空间、声音、图像和视频等数据类型的处理能力差等。
为此,人们提出并发展了许多新的数据模型。
下面介绍继关系模型之后几种重要的数据模型。
1.面向对象数据模型
将语义数据模型和面向对象程序设计方法结合起来,用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。
一系列面向对象核心概念构成了面向对象数据模型(ObjectOrientedDataModel,OO模型)的基础,主要包括以下一些概念:
(1)现实世界中的任何事物都被建模为对象。
每个对象具有一个唯一的对象标识(OID)。
(2)对象是其状态和行为的封装,其中状态是对象属性值的集合,行为是变更对象状态的方法集合。
(3)具有相同属性和方法的对象的全体构成了类,类中的对象称为类的实例。
(4)类的属性的定义域也可以是类,从而构成了类的复合。
类具有继承性,一个类可以继承另一个类的属性与方法,被继承类和继承类也称为超类和子类。
类与类之间的复合与继承关系形成了一个有向无环图,称为类层次。
(5)对象是被封装起来的,它的状态和行为在对象外部不可见,从外部只能通过对象显式定义的消息传递对对象进行操作。
面向对象数据库(OODB)的研究始于20世纪80年代,有许多面向对象数据库产品相继问世,较著名的有ObjectStore、02、ONTOS等。
与传统数据库一样,面向对象数据库系统对数据的操纵包括数据查询、增加、删除、修改等,也具有并发控制、故障恢复、存储管理等完整的功能。
不仅能支持传统数据库应用,也能支持非传统领域的应用,包括CAD/CAM、OA、CIMS、GIS以及图形、图像等多媒体领域、工程领域和数据集成等领域。
尽管如此,由于面向对象数据库操作语言过于复杂,没有得到广大用户,特别是开发人员的认可,加上面向对象数据库企图完全替代关系数据库管理系统的思路,增加了企业系统升级的负担,客户不接受,面向对象数据库产品终究没有在市场上获得成功。
对象关系数据库系统(ObjectRelationalDataBaseSystem,ORDBS)是关系数据库与面向对象数据库的结合。
它保持了关系数据库系统的非过程化数据存取方式和数据独立性,继承了关系数据库系统已有的技术,支持原有的数据管理,又能支持00模型和对象管理。
各数据库厂商都在原来的产品基础上进行了扩展。
1999年发布的SQL标准(也称为SQL99),增加了SQL/ObjectLanguageBinding,提供了面向对象的功能标准。
SQL99对ORDBS标准的制定滞后于实际系统的实现。
所以各个ORDBS产品在支持对象模型方面虽然思想一致,但是所采用的术语、语言语法、扩展的功能都不尽相同。
2.XML数据模型
随着互联网的迅速发展,Web上各种半结构化、非结构化数据源已经成为重要的信息来源,可扩展标记语言(extendedMarkupLanguage,XML)已成为网上数据交换的标准和数据界的研究热点,人们研究和提出了表示半结构化数据的XML数据模型。
XML数据模型由表示XML文档的结点标记树、结点标记树之上的操作和语义约束组成。
XML结点标记树中包括不同类型的结点。
其中,文档结点是树的根结点,XML文档的根元素作为该文档结点的子结点;元素结点对应XML文档中的每个元素;子元素结点的排列顺序按照XML文档中对应标签的出现次序;属性结点对应元素相关的属性值,元素结点是它的每个属性结点的父结点;命名空间结点描述元素的命名空间字符串。
结点标记树的操作主要包括树中子树的定位以及树和树之间的转换。
XML元素中的ID/IDref属性提供了一定程度的语义约束的支持。
XML数据管理的实现方式可以采用纯XML数据库系统的方式。
纯XML数据库基于XML结点树模型,能够较自然地支持XML数据的管理。
但是,纯XML数据库需要解决传统关系数据库管理所面临的各项问题,包括查询优化、并发、事务、索引等问题。
目前,很多商业关系数据库通过扩展的关系代数来支持XML数据的管理。
扩展的关系代数不仅仅包含传统的关系数据操作,而且支持XML数据特定的投影、选择、连接等运算。
传统的查询优化机制也加以扩展来满足新的XML数据操作的要求。
通过关系数据库查询引擎的内部扩展,XML数据管理能够更加有效地利用现有关系数据库成熟的查询技术。
3.RDF数据模型
由于万维网上的信息没有统一的表示方式,给数据管理带来了困难。
如果网络上的资源在创建之初就使用标准的元数据来描述,就可以省去很多麻烦。
为此,W3C提出了资源描述框架(ResourceDiscriptionFramework,RDF),用它来描述和注解万维网中的资源,并向计算机系统提供理解和交换数据的手段。
RDF是一种用于描述Web资源的标记语言,其结构就是由(主语,谓词,宾语)构成的三元组。
这里的主语通常是网页的URL;谓语是属性,如Web页面的标题、作者和修改时间、Web文档的版权和许可信息等;宾语是具体的值或者另一个数据对象。
然而,将Web资源(webresource)这一概念一般化后,RDF可用于表达任何数据对象及其关系,例如关于一个在线购物机构的某项产品的信息(规格、价格和库存等信息)。
因此,RDF也是一种数据模型,并被广泛作为语义网、知识库的基础数据模型。
谓词在RDF模型中具有特殊的地位,其语义是由谓词符号本身决定的。
因此,在使用RDF建模时,需要一个词汇表或者领域本体,用于描述这些谓词之间的语义关系。
RDF模型可以有如下的形式化描述。
RDF三元组(RDFtriple):
给定一个URI集合R、空节点集合B,文字描述集合L,一个RDF三元组t是形如(s,p,o)的三元组,其中S∈R∪B,P∈R,o∈R∪B∪L。
这里的s通常称为主语(subject)、资源(resource)或主体,p称为谓词(predicate)或属性(property),o称为宾语(object)、属性值(value)或客体。
SPARQL(SimpleProtocolandRDFQueryLanguage)是W3C提出的RDF数据的查询标准语言,也是目前被广泛采用的一种RDF上的查询语言。
当前的大多数RDF系统都支持SPARQL查询。
SPARQL共有4种查询方式,分别为SELECT、CONSTRUCT、DESCRIBE和ASK。
目前最常用的是SELECT查询方式,它与SQL的语法相似,用来返回满足条件的数据。
一些研究者在SPARQ的基础上进行了修改,提出了nSPARQL,SPARQL-DL等对SPARQL语法进行扩充,增强SPARQL的查询表达功能。
13.3.2数据库技术与相关技术相结合
数据库技术与其他计算机技术相结合,是数据库技术的一个显著特征,随之也涌现出各种数据库系统,例如:
•数据库技术与分布处理技术相结合,出现了分布式数据库系统;
•数据库技术与并行处理技术相结合,出现了并行数据库系统;
•数据库技术与人工智能技术相结合,出现了演绎数据库、知识库和主动数据库系统;
•数据库技术与多媒体技术相结合,出现了多媒体数据库系统:
•数据库技术与模糊技术相结合,出现了模糊数据库系统等;
•数据库技术与移动通信技术相结合,出现了移动数据库系统等;
•数据库技术与Web技术相结合,出现了Web数据库等。
这里以分布式数据库和并行数据库为例,说明数据库技术如何吸收、结合其他计算机技术,从而形成了数据库领域新的分支和研究课题,极大地丰富和发展了数据库技术。
1.分布式数据库系统
分布式数据库系统是在集中式数据库系统和计算机网络的基础上发展起来的,它是分布式数据处理的关键技术之一。
分布式数据库由一组数据组成,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用。
同时,每个结点也能通过网络通信系统执行全局应用。
这个定义强调了分布式数据库系统的场地自治性以及自治场地之间的协作性。
这就是说,每个场地是独立的数据库系统,它有自己的数据库、自己的用户、自己的服务器,运行自己的DBMS,执行局部应用,具有高度的自治性。
同时各个场地的数据库系统又相互协作组成一个整体。
这种整体性的含义是,对于用户来说,一个分布式数据库系统逻辑上看如同一个集中式数据库系统一样,用户可以在任何一个场地执行全局应用。
因此,分布式数据库系统不是简单地把集中式数据库连网就能实现的。
分布式数据库系统具有自己的性质和特征。
集中式数据库的许多概念和技术,如数据独立性、数据共享和数据冗余、并发控制、完整性、安全性和恢复等,在分布式数据库系统中都有了新的更加丰富的内容。
分布式数据库系统的本地自治性(localautonomy)是指局部场地的数据库系统可以自己决定本地数据库的设计、使用以及与其他节点的数据库系统的通信。
分布式数据库系统的分布透明性(distributedtransparency)是指分布式数据库管理系统将数据的分布封装起来,用户访问分布式数据库就像与集中式数据库打交道一样,不必知道也不必关心数据的存放和操作位置等细节。
分布式数据库系统在集中式数据库系统的组成基础上增加了三个部分:
DDBMS、全局字典和分布目录、网络访问进程。
全局字典和分布目录为DDBMS提供了数据定位的元信息,网络访问进程使用高级协议来执行局部站点和分布式数据库之间的通信。
20世纪80年代是分布式数据库系统研究与开发的一个高峰时期。
具有代表性的分布式数据库系统有SDD-1、POREL、R※、分布式INGRES系统、SIRIUS计划和ADA-DDM系统等。
近年来,Internet的发展和海量异构数据的应用需求使分布式数据管理和分布式数据处理技术遇到了新的挑战。
根据CAP(Consistency,Availability,PartitionsTolerance)理论,在分布式系统中数据一致性(consistency)、系统可用性(availability)、网络分区容错性(partitiontolerance)三者不可兼得,满足其中任意两项便会损害第三项。
分布数据管理在Web海量数据搜索和数据分析中可以适当减低对数据一致性的严格要求,以提高系统的可用性和系统性能。
因此对分布数据处理的研究和开发进入了新的阶段,即大数据时代的大规模分布处理。
2.并行数据库系统
并行数据库系统是在并行机上运行的具有并行处理能力的数据库系统。
并行数据库系统能充分发挥多处理和I/O并行性,是数据库技术与并行计算技术相结合的产物。
并行数据库技术起源于20世纪70年代的数据库机(databasemachine)研究。
数据库机研究的内容主要集中在关系代数操作的并行化和实现关系操作的专用硬件设计上,希望通过硬件实现关系数据库操作的某些功能,该研究没有如愿成功。
20世纪80年代后期,并行数据库技术的研究方向逐步转到了通用并行机方面,研究的重点是并行数据库的物理组织、并行操作算法、查询优化和调度策略。
20世纪90年代,随着处理器、存储、网络等相关基础技术的发展,开展了并行数据库在数据操作的时间并行性和空间并行性方向的研究。
并行数据库研究主要围绕关系数据库进行,包括以下几个方面。
(1)实现数据库查询并行化的数据流方法
关系数据是集合操作,许多情况下可分解为一系列对子集的操作,具有潜在的并行性。
利用关系操作的固有并行性,可以较为方便地对查询作并行处理。
此种方法简单、有效,被很多并行数据库采用。
(2)并行数据库的物理组织
研究如何把一个关系划分为多个子集合并将其分布到多个处理节点上去(称为数据库划分),其目的是使并行数据库能并行地读写多个磁盘进行查询处理,充分发挥系统的i/o并行性。
数据划分对于并行数据库的性能有很大影响,目前数据划分方法主要有一维数据划分、多维数据划分和传统物理存储结构的并行化等。
(3)新的并行数据操作算法
研究表明,使用并行数据操作算法以实现查询并行处理可以充分地发挥多处理机并行性,极大地提高系统查询处理的效率和能力。
许多并行算法已被提出,主要是围绕连接操作的算法较多,它们有基于嵌套循环的并行连接算法、基于Sort-Merge的并行连接算法以及并行Hash-Join算法。
(4)查询优化
查询优化是并行数据库的重要组成部分。
并行查询优化中执行计划搜索空间庞大,研究人员研究了启发式的方法对并行执行计划空间作裁剪,以减少搜索空间的代价。
具有多个连接操作的复杂查询的优化是查询优化的核心问题。
不少学者相继提出了基于左线性树的查询优化算法、基于右线性树的査询优化算法、基于片段式右线性树的查询优化算法、基于浓密树的查询优化算法、基于操作森林的查询优化算法等。
这些算法在搜索代价和最终获得的查询计划的效率之间有着不同的权衡。
比较著名的并行数据库系统有Arbre、Bubba、Gamma、Teradata及XPRS等。
并行数据库成本较高,扩展性有限,面对大数据分析需要巨大的横向扩展(scaleout)能力,使并行数据库遇到了挑战。
Google公司提出的MapReduce技术,作为面向大数据分析和处理的并行计算模型,2004年发布后便引起了工业界和学术界的广泛关注。
13.3.3面向应用领域的数据库新技术
数据库技术被应用到特定的领域中,出现了数据仓库、工程数据库、统计数据库、空间数据库、科学数据库等多种数据库(如图13.2所示),使数据库领域的应用范围不断扩大。
图13.2特定应用领域中的数据库技术
这些数据库系统都明显地带有某一领域应用需求的特征,难以直接使用当前市场上销售的通用的DBMS来管理和处理这些领域内的数据对象,因而广大数据库工作者针对各个领域的数据库特征探索和研制了各种特定的数据库系统,取得了丰硕的成果,不仅为这些应用领域建立了可供使用的数据库系统(有的已实用化),而且为新一代数据库技术的发展做出了贡献。
这里举两个例子加以说明,数据仓库以及大数据时代的新型数据仓库将在第16章专门讲解。
1.工程数据库
工程数据库(EngineeringDataBase,EDB)是一种能存储和管理各种工程设计图形和工程设计文档,并能为工程设计提供各种服务的数据库。
当数据库应用于工程领域时,发现传统的数据库对具有复杂结构和工程设计内涵的工程对象以及工程领域中的大量“非经典”应用难以胜任。
工程数据库正是针对工程应用领域的需求而提出来的。
由于工程数据的数据结构复杂、相互联系紧密、数据存储量大,因此工程数据库管理系统的功能与传统DBMS有很大不同,主要应具有以下功能:
(1)支持复杂对象(如图形数据、工程设计文档)的表示和处理;
(2)可扩展的数据类型;
(3)支持复杂多样的工程数据的存储和集成管理;
(4)支持变长结构数据实体的处理;
(5)支持工程长事务和嵌套事务的并发控制和恢复;
(6)支持设计过程中多个不同数据版本的存储和管理;
(7)支持模式的动态修改和扩展;
(8)支持多种工程应用程序等。
工程数据库系统主要有两种实现方式,一种是在关系数据库系统的基础上加以扩充或改进;另一种是开发支持新数据模型的数据库管理系统,其数据模型主要有语义数据模型、面向对象数据模型等。
工程数据库又称为CAD数据库、设计数据库、技术数据库、设计自动化数据库等。
适合CAD/CAM/CIM、地理信息处理、军事指挥、控制、通信等工程应用领域。
2.空间数据库
空间数据是用于表示空间物体的位置、形状、大小和分布特征等诸方面信息的数据,适用于描述所有二维、三维和多维分布的关于区域的现象。
空间数据的特点是不仅包括物体本身的空间位置及状态信息,还包括表示物体的空间关系(即拓扑关系)的信息。
属性数据为非空间数据,用于描述空间物体的性质,对空间物体进行语义定义。
空间数据库系统(SpatialDataBaseSystem,SDBS)是描
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 13 数据库 技术发展 概述 系统 概论 第五