第4篇 新技术篇
第13章 数据库技术发展概述
复习笔记
一、数据库技术发展历史
数据库技术产生于20世纪60年代中期,至今仅仅 50年的历史,已经历了三代演变,发展了以数据建模和数据库管理系统核心技术为主,内容丰富的一门学科。
图 13-1 通过一个三维视图从数据模型、相关技术、应用领域三个方面描述了数据库系统的发展历史、特点和相互关系。
图13-1 数据库系统的发展和相互关系示意图
二、数据库发展的三个阶段
01第一代数据库系统
层次模型和网状模型都是格式化模型。它们从体系结构、数据库语言到数据存储管理均具有共同特征,是第一代数据库系统。
(1)代表
①1969年由IBM公司研制的层次模型数据库管理系统IMS。
②美国数据库系统语言研究会(CODASYL)下属的数据库任务组(DBTG)对数据库方法进行了系统的研究和探讨,于20世纪60年代末70年代初提出了若干报告,称为DBTG报告。
(2)共同特点
①支持三级模式(外模式、模式、内模式)的体系结构。模式之间具有转换(或称为映射)功能:
②用存取路径来表示数据之间的联系;
③独立的数据定义语言。
02第二代数据库系统
支持关系数据模型的关系数据库系统是第二代数据库系统。
(1)主要成果
①奠定了关系模型的理论基础,给出了人们一致接受的关系模型的规范说明;
②研究了关系数据语言,包括关系代数、关系演算、SQL及QBE等。确立了SQC为关系数据库语言标准。
(2)优点
①模型简单清晰;
②理论基础好;
③数据独立性强;
④数据库语言非过程化和标准化。
03新一代数据库系统三个基本特征
(1)支持数据管理、对象管理和知识管理;
(2)保持或继承第二代数据库系统的技术;
(3)必须对其他系统开放。
三、数据库系统发展的特点01数据模型的发展
数据库的发展集中表现在数据模型的发展上。从最初的层次、网状数据模型发展到关系数据模型,数据库技术产生了巨大的飞跃。
(1)面向对象数据模型
一系列面向对象核心概念构成了面向对象数据模型(Object Oriented Data Model,OO模型)的基础,主要包括以下一些概念:
①现实世界中的任何事物都被建模为对象。每个对象具有一个唯一的对象标识(OID)。
②对象是其状态和行为的封装,其中状态是对象属性值的集合,行为是变更对象状态的方法集合。
③具有相同属性和方法的对象的全体构成了类,类中的对象称为类的实例。
④类的属性的定义域也可以是类,从而构成了类的复合。类具有继承性,一个类可以继承另一个类的属性与方法,被继承类和继承类也称为超类和子类。类与类之间的复合与继承关系形成了一个有向无环图,称为类层次。
⑤对象是被封装起来的,它的状态和行为在对象外部不可见,从外部只能通过对象显式定义的消息传递对象进行操作。
(2)XML数据模型
XML数据模型由表示XML文档的结点标记树、结点标记树之上的操作和语义约束组成。XML结点标记树中包括不同类型的结点。XML数据管理的实现方式可以采用纯 XML数据库系统的方式。纯 XML 数据库基于XML结点树模型,能够较自然地支持XML数据的管理。
(3)RDF数据模型
RDF是一种用于描述Web资源的标记语言,其结构就是由(主语,谓词,宾语)构成的三元组。RDF也是一种数据模型,并被广泛作为语义网、知识库的基础数据模型。谓词在RDF模型中具有特殊的地位,其语义是由谓词符号本身决定的。
02数据库技术与相关技术相结合
数据库技术与其他计算机技术相结合,是数据库技术的显著特征。
(1)分布式数据库系统
分布式数据库系统是在集中式数据库系统和计算机网络的基础上发展起来的,它是分布式数据处理的关键技术之一。分布式数据库由一组数据组成,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个结点也能通过网络通信系统执行全局应用。
(2)并行数据库系统
①定义
并行数据库系统是在并行机上运行的具有并行处理能力的数据库系统。并行数据库系统能充分发挥多处理和1/O并行性,是数据库技术与并行计算技术相结合的产物。
②研究内容
a.实现数据库查询并行化的数据流方法;
b.并行数据库的物理组织;
c.新的并行数据操作算法;
d.查询优化。
03面向应用领域的数据库新技术
数据库技术被应用到特定的领域中,出现了数据仓库、工程数据库、统计数据库、空间数据库、科学数据库等多种数据库(如图13-2所示),使数据库领域的应用范围不断扩大。
图13-2 特定应用领域中的数据库技术
(1)工程数据库
①定义
工程数据库(Engincering Data Base,EDB)是一种能存储和管理各种工程设计图形和工程设计文档,并能为工程设计提供各种服务的数据库。
②功能
a.支持复杂对象(如图形数据、工程设计文档)的表示和处理;
b. 可扩展的数据类型;
c.支持复杂多样的工程数据的存储和集成管理;
d.支持变长结构数据实体的处理;
e.支持工程长事务和嵌套事务的并发控制和恢复;
f.支持设计过程中多个不同数据版本的存储和管理;
g.支持模式的动态修改和扩展;
h.支持多种工程应用程序。
③实现方式
a.在关系数据库系统的基础上加以扩充或改进;
b.开发支持新数据模型的数据库管理系统。
(2)空间数据库
①用途
空间数据是用于表示空间物体的位置、形状、大小和分布特征等诸方面信息的数据,适用于描述所有二维、三维和多维分布的关于区域的现象。
②特点
a.包括物体本身的空问位置及状态信息;
b.表示物体的空间关系(即拓扑关系)的信息。
③主要内容
a.空间数据模型:描述空间实体和空间实体关系的数据模型,一般传统的数据模型加以扩充和修改来实现,有的用面向对象的数据模型来实现。
b.空间数据查询:包括位置查询、空问关系查询和属性查询。前两种查询是空间数据库特有的查询方式。
c.空间数据库系统:大多数空间数据库系统是以现有的数据库管理系统为基础建立的。
d.查询语言:大多是以SQL语言为基础,增加相应的函数实现对空间对象和空间关系的查询。
四、数据管理技术的发展趋势
01数据管理技术面临的挑战
随着数据获取手段的自动化、多样化与智能化,数据量越来越巨大,对于海量数据的存储和管理,要求系统具有高度的可扩展性和可伸缩性,以满足数据量不断增长的需要。传统的分布式数据库和并行数据库在可扩展性和可伸缩性方面明显不足。
02数据管理技术的发展与展望
大数据给数据管理、数据处理和数据分析提出了全面挑战。传统的关系数据库在系统的伸缩性、容错性和可扩展性等方面难以满足海量数据的柔性管理需求,NoSQL技术顺应大数据发展的需要,蓬勃发展。NoSQL 是指非关系型的、分布式的、不保证满足ACID特性的一类数据管理系统。
NoSQL技术有如下特点:
(1)对数据进行划分(partitioning),通过大量节点的并行处理获得高性能,采用的是横向扩展的方式(scale out)。
(2)放松对数据的ACID一致性约束,允许数据暂时出现不一致情况,接受最终一致性(eventual consistency)。
(3)对各个数据分区进行备份(一般是三份),应对节点可能的失败,提高系统可用性等。