第十三章 数据库技术发展
文章目录
13.1数据库技术发展概述
数据库技术产生于20世纪60年代中期,发展了以数据建模和DBMS核心技术为主,内容丰富的一门学科,带动了一个巨大的软件产业。
数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一。
下图通过一个三维空间的视图从数据模型、新技术内容、应用领域3个方面,描述了数据库系统的发展、特点和相互关系。
13.2数据库发展的3个阶段
按照数据模型的进展,数据库技术可分为3个发展阶段:
第一代的网状、层次数据库系统。
第二代的关系数据库系统。
第三代数据库系统----数据库大家族。
13.2.1第一代数据库系统
第一代数据库系统指层次和网状数据库系统,是格式化模型,代表系统:
(1)IMS:1969年IBM公司研制的层次模型的数据库管理系统。
(2)DBTG报告:20世纪60年代末70年代初由美国数据库系统语言研究会(CODASYL)下属的数据库任务组(DBTG)提出,确定并建立了数据库系统的许多概念、方法和技术,该报告基于网状结构的,它是数据库网状模型的典型代表。
层次数据库系统与网状数据库系统的共同特点:
(1)支持三级模式的体系结构。
(2)用存取路径来表示数据之间的联系。
(3)独立的数据定义语言。
(4)导航的数据操纵语言。
导航的数据操纵语言:就是一次一个记录的导航式的过程化语言,用户不仅要了解“干什么”,而且要指出“怎么干”。
优点:存取效率高。
缺点:编程繁琐。
13.2.2第二代数据库系统
第二代数据库系统指支持关系数据模型的关系数据库系统。
1970年,E.F.Code发表《大小共享数据库数据的关系模型》论文,提出了数据库的关系模型,为关系数据库技术奠定理论基础。
典型代表:
IBM San Jose研究室开发的System R。
Berkeley大学研制的INGRES。
关系数据库特点:模型简单清晰、理论基础好、数据库语言非过程化、数据独立性强和标准化等特色。
这一时期的主要成果:
(1)奠定了关系模型的理论基础,给出了人们一致接收的关系模型的规范说明。
(2)研究了关系数据语言,包括关系代数、关系演算、SQL及QBE等,确定了SQL为关系数据库语言标准。
(3)研制了大量的RDBMS原型,攻克了系统实现中查询优化、并发控制、故障恢复等一系列关键技术。
13.2.3新一代数据库系统
新一代数据库系统具有广泛的范围:
(1)基于对象关系(OR)数据模型,分布式、客户机-服务器体系结构。
(2)混合式体系结构,在对称多处理结构(SMP)、大规模并行处理(MPP)并行机上运行的并行数据库。
(3)应用于某一领域(工程、统计、地理信息系统)的工程数据库、统计数据库、空间数据库等。
1990年高级DBMS功能委员会发表了《第三代数据库系统宣言》的文章,提出了第三代DBMS应具有的3个基本特征:
(1)第三代数据库系统应支持数据管理、对象管理和知识管理。
(2)第三代数据库系统必须保持或继承第二代数据库系统的技术。
(3)第三代数据库系统必须对其他系统开发。
13.3数据库系统发展的特点
13.3.1数据模型的发展
关系模型的提出是数据库发展史上有划时代意义的重大事件,关系理论研究和关系数据库管理信息系统研制的巨大成功促进了关系数据库的发展,使关系数据模型成为具有统治地位的数据模型。
随着数据库应用领域的扩展和数据库、对象的多样化,关系数据库暴露了许多弱点,比如对声音、图像、视频等数据类型处理能力差等。为此提出并发展了许多新的数据模型。
- 面向对象数据模型
将语义数据模型和面向对象程序设计方法结合,用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。构成了面向对象数据模型(00模型)的基础,主要包括以下概念:
(1)现实世界中的任何事务都被建模为对象。每个对象有唯一的对象标识(OID)。
(2)对象是其状态和行为的封装,其中状态时对象属性值的集合,行为是变更对象状态的方法集合。
(3)具有相同属性和方法的对象的全体构成了类,类中的对象成为类的实例。
(4)类的属性定义域也可以是类,构成了类的复合,类具有继承性,被继承的类称为超类,继承类称为子类。类与类之间的复合与继承关系形成了有向无环图,称为类层次。
(5)对象是被封装起来的,它的状态和行为在对象外部是不可见的,只能通过传递消息对对象进行操作。
面向对象数据库的研究始于20世纪80年代,主要的产品有Object Store、O2、ONTOS等。由于面向对象数据库的操作语言复杂,企业更换成本高,最终没有获得成功。
对象关系数据库系统(ORDBS)是关系数据库与面向对象数据库的结合。SQL99标准提供了面向对象的功能标准。目前所采用的术语、语言语法、扩展的功能等不尽相同。 - XML数据模型
随着互联网的迅速发展,可扩展标记语言XML已成为网上数据交换的标准和数据 界的研究热点,因此提出了XML数据模型。
XML数据模型由表示XML文档的结点标记树、结点标记树上的操作和语义约束组成。
XML数据管理的实现方式可以采用纯XML数据库系统的方式。目前,很多商业关系数据库是通过扩展关系代数来支持XML数据的管理。 - RDF数据模型
如果网络上的资源在创建之初就使用标准的元数据来描述,就可以省去很多麻烦,谓词提出了资源描述框架(RDF),用它来描述和注解万维网中的资源,并向计算机系统提供理解和交换数据的手段。
RDF是一种用于描述Web资源的标记语言,其结构是(主语,谓语,宾语)构成的三元组。
主语:网页的URL。
谓词:属性,如页面标题、作者等。
宾语:具体的值。
RDF模型三元组描述如下:
R:给定一个URL集合,B:空节点集合,L:文字描述集合。
RDF模型三元组t(s,p,o),其中s∈R∪B,p∈R,o∈R∪B∪L
s称为主语、资源或主体,p称为谓词,o称为宾语、属性或客体。
目前,SPARQL是被广泛采用的一种RDF上的查询语言。它是由W3C提出的基于RDF数据的查询标准语言。它共支持4种查询方式,分别SELECT、CONSTRUCT、DESCRIBE、ASK。
nSPARQL、SPARQL-DL等是SPARQL的改进。
13.3.2数据库技术与相关技术相结合
数据库技术与其他学科的内容相结合,出现的各种新型的数据库系统:
与分布式技术相结合,出现分布式数据库系统。
与并行处理技术相结合,出现并行数据库系统。
与人工智能技术相结合,出现知识库系统和主动数据库系统。
与多媒体技术相结合,出现对媒体数据库系统。
与模糊技术相结合,出现模糊数据库系统等。
与移动技术相结合,出现移动数据库系统等。
与Web技术相结合,出现Web数据库等。
- 分布式数据库系统
分布式数据库系统是由一组数据组成,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用,也可以通过网络通信系统执行全局应用。
说明:
①本地自治性是指局部场地的数据库系统自己决定本地数据库的设计、使用以及与其他节点数据库的通信。
②场地自治性以及自治场地之间具有协作性。
③分布式数据库系统具有自己的性质和特征,不是简单的把集中式数据库联网就能实现的。
分布式数据库系统的组成:
分布式数据库系统在集中式数据库系统的组成基础上增加了三部分内容:DDBMS、全局字典和分布目录、网络访问进程。
20世纪80年代是分布式数据库系统研究的一个高峰期,具有代表性的有SDD-1、POREL、R*、分布式INGRES系统、SIRIUS计划和ADA-DDM系统等。
近年来分布式数据库系统遇到新挑战,根据CAP理论,分布式系统中,一致性、系统可用性、网络分区容错性三者不可兼得。分布数据库管理在Web海量数据搜索和数据分析中适当减低数据一致性的要求。因此,分布式数据库系统已进入大数据时代的大规模分布处理。 - 并行数据库系统
并行数据库系统是在并行机上运行的具有并行处理能力的数据库系统。是数据库技术与并行计算技术相结合的产物。
并行数据库系统的发展阶段:
20世纪70年代:数据库机的研究,希望通过硬件的研究实现关系数据库的某些功能。最终没能成功。
20世纪80年代:通用并行机的研究,重点研究并行数据库的物理组织、并行操作算法、查询优化和调度策略。
20世纪90年代:随着处理器、存储、网络等技术的发展,开展了并行数据在时间和空间并行性的研究。
并行数据库围绕关系数据库进行了以下方面的研究:
(1)实现数据库查询并行化的数据流方法
关系数据是集合操作,许多情况下可分解为一系列对子集的操作,具有潜在的并行性。
(2)并行数据库的物理组织
把关系划分为多个子集并将其分布在多个处理节点上(称为数据库划分),发挥I/O的并行性。数据库划分的主要方法有一维数据划分、多维数据划分和传统物理存储结构的并行化等。
(3)新的并行数据操作算法实现查询并行处理可以充分发挥多处理机并行性,极大提高系统查询效率和能力。
(4)查询优化
查询优化是并行数据库的重要组成部分。研究人员研究了启发式的方法对并行执行计划空间做裁剪,减少搜索空间的代价。
比较著名的并行数据库系统又Arber、Bubba、Gamma、XPRS、Teradata等。
13.3.3面向领域的数据库新技术
数据库技术被应用到特定的领域中,出现了数据仓库、工程数据库、统计数据库、空间数据库、科学数据库等多种数据库,使数据库领域的应用范围不断扩大。
- 工程数据库
工程数据库(EDB)是一种能存储和管理各种工程设计图形和工程设计文档,并能为工程设计提供各种服务的数据库。
工程数据库又称CAD数据库、设计数据库、技术数据库、设计自动化数据库等。主要用于CAD/CAM/CIM、地理信息处理、军事指挥、控制、通信等工程应用。
工程数据库可以在关系数据库系统的基础上扩充改进或者开发新的数据库管理系统。
工程数据库的主要功能:
(1)复杂对象(如图形数据、工程设计文档)的表示和处理;
(2)可扩展的数据类型;
(3)支持复杂多样的工程数据的存储和集成管理;
(4)支持变长结构数据实体的处理;
(5)支持工程长事务和嵌套事务的并发控制和恢复;
(6)支持设计过程中多个不同数据版本的存储和管理;
(7)支持模式的动态修改和扩展;
(8)支持多种工程应用程序等。 - 空间数据库
空间数据库用于表示空间物体的位置、形状、大小和分布特征等诸方面信息的数据,适用于描述所有二维、三维和多维分布的关于区域的现象。
特点:
(1)包括物体本身的空间位置及状态信息。
(2)包括表示物体的空间关系(即拓扑关系)的信息。
空间数据库(SDBS):是描述、存储和处理空间数据及其属性数据的数据库系统。其作用是有效的利用卫星遥感资源迅速绘制出各种经济专题地图。
空间数据库研究的主要内容:
(1)空间数据模型,描述空间实体关系的数据模型。
(2)空间数据查询,包括了位置查询、空间关系查询和属性查询。
(3)空间数据库系统,利用现有的关系数据库管理系统扩充建立。上层是各种空间应用,如GIS、CAD应用等,中间层是空间数据库系统,下层是成熟的数据库管理系统。
(4)查询语言,大多数是以SQL语言为基础,增加相应的函数实现对空间对象和空间关系的查询。
13.4数据库技术发展趋势
13.4.1数据管理技术面临的挑战
推动数据库发展的3个主要动力是数据、应用需求、计算机相关技术。
- 数据的变化
①数据海量化,要求系统具有高度的可扩展性和可伸缩性。
②数据类型越来越多样和异构。
③图形图像、视频音频等视觉听觉数据蕴含在流数据中,并存在大量冗余和噪声。 - 应用和需求发展
①数据处理和应用的领域已从OLTP为代表的事务处理扩展到OLAP分析处理。
②从对数据仓库中结构化的海量历史数据的多维分析发展到对海量非结构化数据的复杂分析和深度挖掘。
③计算机硬件的迅速发展,要求利用新的硬件技术满足海量数据存储和管理的需求。
13.4.2数据管理技术的发展与展望
大数据给数据管理、数据处理和数据分析提出了全面挑战。支持海量数据管理的系统应该具有:高可扩展性、高性能、容错性、可伸缩性等。
NoSQL是指非关系型的、分布式的、不保证满足ACID特性的一类数据管理系统。
NoSQL技术的特点:
(1)对数据进行划分。通过大量节点的并行处理获得高性能。
(2)放松对数据的ACID一致性约束,允许数据暂时出现不一致情况,接受最终一致性。
(3)对各个数据分区进行备份,应对节点可能的失败。
NoSQL技术依据存储模型分为:基于Key-Value存储模型、基于Column Family存储模型、基于文档模型和基于图模型。
2004年Google首次发布了基于NoSQL技术的MapReduce技术,该技术框架包含:高度容错的分布式文件系统、并行编程模型和并行执行引擎。
传统关系数据库系统提供了高度一致性、精确性、系统可恢复性等关键特性,仍然是事务处理系统的核心引擎,无可替代。
13.5小结
数据库系统已经发展成为一个大家族。本章以数据模型、新技术内容、应用领域为三条主线,概要回顾了数据库发展三个阶段。
数据库的技术核心是数据管理。随着大数据时代的到来、新应用领域的需求不断增加,硬件平台飞速发展,各类数据库将不断涌现。