数据库技术发展
本文最后更新于106 天前,其中的信息可能已经过时。

数据库技术发展

数据库技术发展概述

数据库技术产生于 20 世纪 60 年代中期,发展了以数据建模和 DBMS 核心技术为主,内容丰富的一门学科,带动了一个巨大的软件产业。

数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一。

下图通过一个三维视图从数据模型、相关技术、应用领域 3 个方面描述了数据库系统的发展、特点和相互关系。

image-20240903102334841

数据库发展的 3 个阶段

按照数据模型的发展,数据库技术可以分为三个发展阶段:

  1. 第一代的网状、层次数据库系统。
  2. 第二代的关系数据库系统。
  3. 第三代数据库系统——数据库大家族。

第一代数据库系统

第一代数据库系统指层次和网状数据库系统,是格式化模型,代表系统:

  1. IMS(Information Management System):1969 年 IBM 公司研制的层次模型的数据库管理系统。
  2. DBTG 报告(Data Base Task Group):20 世纪 60 年代末 70 年代初由美国数据库系统语言研究会(CODASYL)下属的数据库任务组(DBTG)提出,确定并建立了数据库系统的许多概念、方法和技术该报告基于网状结构的,是网状模型数据库系统的典型代表。

层次数据库系统与网状数据库系统的共同特点:

  1. 支持三级模式的体系结构。
  2. 用存取路径来表示数据之间的联系。
  3. 独立的数据定义语言。
  4. 导航的数据操纵语言。

导航的数据操纵语言:就是一次一个记录的导航式的过程化语言,用户不仅要了解“干什么”,而且要指出“怎么干”。

优点:存取效率高。

缺点:编程繁琐。

第二代数据库系统

第二代数据库系统指支持关系数据模型的关系数据库系统。

1970 年,E.F.Codd 发表了题为《大型共享数据库数据的关系模型》论文,提出了数据库的关系模型,为关系数据库技术奠定了理论基础。

典型代表:

IBM San Jose 研究室开发的 System R。

Berkeley 大学研制的 INGRES。

关系数据库特点:模型简单清晰、理论基础好、数据库语言非过程化、数据库独立性强和标准化等特点。

这一时期的主要成果:

  1. 奠定了关系模型的理论基础,给出了人们一致接受的关系模型的规范说明。
  2. 研究了关系数据语言,包括关系代数、关系演变、SQL 及 QBE 等,确定了 SQL 为关系数据库语言标准。
  3. 研制了大量的 RDBMS 原型,攻克了系统实现中查询优化、并发控制、故障恢复等一系列关键技术。

新一代数据库系统

新一代数据库系统具有广泛的范围:

  1. 基于对象关系(OR)数据模型,分布式、客户机—服务器体系结构。
  2. 混合式体系结构,在对称多处理结构(SMP)、大规模并行处理(MPP)并行机上 运行的并行数据库。
  3. 应用于某一领域(如工程、统计、地理信息系统)的工程数据库、统计数据库、空间数据库等。

1990 年高级 DBMS 功能委员会发表了《第三代数据库系统宣言》的文章,提出了第三代 DBMS 应具有的 3 个基本特征:

  1. 第三代数据库系统应支持数据管理、对象管理和知识管理。
  2. 第三代数据库系统必须保持或继承第二代数据库系统的技术。
  3. 第三代数据库系统必须对其他系统开放。

数据库系统发展的特点

数据模型的发展

关系模型的提出是数据库发展史上具有划时代意义的重大事件,关系理论研究和关系数据库管理系统研制的巨大成功进一步促进了关系数据库的发展,使关系数据模型成为具有统治地位的数据模型。

随着数据库应用领域的扩展以及数据对象的多样化,关系数据库暴露了许多弱点,比如对声音、图像和视频等数据类型的处理能力差等。为此提出并发展了许多新的数据模型。

面向对象数据模型

将语义数据模型和面向对象程序设计方法结合起来,用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。构成 了面向对象数据模型(Object Oriented Data Model, OO 模型)的基础,主要包括以下概念:

  1. 现实世界中的任何事物都被建模为对象。每个对象具有一个唯一的对象标识(OID)。
  2. 对象是其状态和行为的封装,其中状态是对象属性值的集合,行为是变更对象状态的方法集合。
  3. 具有相同属性和方法的对象的全体构成了类,类中的对象称为类的实例。
  4. 类的属性的定义域也可以是类,从而构成了类的复合。类具有继承性,一个类可以继承另一个类的属性与方法,被继承类和继承类也称为超类和子类。类与类之间的复合与继承关系形成了一个有向无环图,称为类层次。
  5. 对象是被封装起来的,它的状态和行为在对象外部不可见,从外部只能通过对象显式定义的消息传递对对象进行操作。

面向对象数据库(OODB)的研究始于 20 世纪 80 年代,主要的产品有 Object Store、O2、ONTOS 等。由于面向对象数据库的操作复杂,企业更换成本高,最终没有获得成功

对象关系数据库系统(Object Relational Data Base System, ORDBS)是关系数据库与面向对象数据库的结合。 SQL99 标准提供了面向对象的功能标准。目前所采用的术语、语言语法、扩展的功能都不尽相同。

XML 数据模型

随着互联网的迅速发展,可扩展标记语言(eXtended Markup Language,XML)已成为网上数据交换的标准 和数据界的研究热点,因此提出了 XML 数据模型。

XML 数据模型由表示 XML 文档的结点标记树、结点标记树之上的操作和语义约束组成。

XML 数据管理的实现方式可以采用纯 XML 数据库系统的方式。目前,很多商业关系数据库是通过扩展的关系代数来支持 XML 数据的管理。

RDF 数据模型

如果网络上的资源在创建之初就使用标准的元数据来描述,就可以省去很多麻烦。为此提出了资源描述框架(Resource Discription Framework,RDF),用它来描述和注解万维网中的资源,并向计算机系统提供理解和交换数据的手段。

RDF 是一种用于描述 Web 资源的标记语言,其结构就是(主语,谓词,宾语)构成的三元组

主语:网页的 URL。

谓语:属性,如 Web 页面的标题、作者和修改时间、Web 文档的版权和许可信息等。

宾语:具体的值或者另一个数据对象。

RDF 模型三原组描述如下:

  1. R:给定一个 URL 集合,B:空节点集合,L:文字描述集合。
  2. RDF 三元组 t(s,p,o),其中 s R B,p∈R,o R B L。
  3. s 通常称为主语(subject)、资源(resource)或主体,p 称为谓词(predicate)或属性(property),o 称为宾语(object)、属性值(value)或客体。

目前,SPARQL(Simple Protocol and RDF Query Language)被广泛采用的一种 RDF 上的查询语言。它是由 W3C 提出的 RDF 数据的查询标准语言。它共支持 4 种查询方式,分别为 SELECT、CONSTRUCT、DESCRIBE 和 ASK。

nSPARQL,SPARQL-DL 等是 SPARQL 的改进。

数据库技术与相关技术相结合

数据库技术与其他学科的内容相结合,出现的各种新型的数据库系统:

  1. 与分布处理技术相结合,出现分布式数据库系统;
  2. 与并行处理技术相结合,出现并行数据库系统;
  3. 与人工智能技术相结合,出现演绎数据库、知识库和主动数据库系统;
  4. 与多媒体技术相结合,出现多媒体数据库系统;
  5. 与模糊技术相结合,出现模糊数据库系统等;
  6. 与移动通信技术相结合,出现移动数据库系统等;
  7. 与 Web 技术相结合,出现 Web 数据库等。

分布式数据库系统

分布式数据库由一组数据组成,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用,也能通过网络通信系统执行全局应用。

【说明】

  1. 本地自治性是指局部场地的数据库系统自己决定本地数据库的设计、使用以及与其他节点数据库的通信。
  2. 场地自治性以及自治地之间具有协作性。
  3. 分布式数据库系统具有自己的性质和特征,不是简单的把集中式数据库联网就能实现的。

分布式数据库系统的组成:

分布式数据库系统在集中式数据库系统的组成基础上增加了三个部分:DDBMS、全局字典和分布目录、网络访问进程。

20 世纪 80 年代是分布式数据库系统研究与开发的一个高峰时期。具有代表性的分布式数据库系统有 SDD-1、POREL、R*、分布式 INGRES 系统、SIRIUS 计划和 ADA-DDM 系统等。

近年来分布式数据库系统遇到了新的挑战。根据 CAP(Consistency, Availability, Partitions Tolerance)理论, 分布式系统中数据一致性(consistency)、系统可用性(availability)、网络分区容错性(partition tolerance)三者不可兼得。分布数据管理在 Web 海量数据搜索和数据分析中可以适当减低对数据一致性的严格要求。因此,分布式数据库系统已进入大数据时代的大规模分布处理。

并行数据库系统

并行数据库系统是在并行机上运行的具有并行处理能力的数据库系统。是数据库技术与并行计算技术相结合的产物。

并行数据库系统的发展阶段:

20 世纪 70 年代: 数据库机的研究,希望通过硬件的研究实现关系数据库的某些功能。最终没能成功。

20 世纪 80 年代: 通用并行机的研究,重点研究并行数据库的物理组织、并行操作算法、查询优化和调度策略。

20 世纪 90 年代: 随着处理器、存储、网络等技术的发展,开展了并行数据在时间和空间并行的研究。

并行数据库围绕关系数据库进行了以下方面的研究:

  1. 实现数据库查询并行化的数据流方法:关系数据是集合操作,许多情况下可分解为一系列对子集的操作,具有潜在的并行性。
  2. 并行数据库的物理组织:把关系划分为多个子集合并将其分布到多个处理节点上去称为(数据库划分),发挥 I/O 的并行性。数据划分方法主要有一维数据划分、多维数据划分和传统物理存储结构的并行化等。
  3. 新的并行数据操作算法:使用并行数据操作算法实现查询并行处理可以充分地发挥多处理机并行性,极大地提高系统查询处理的效率和能力。
  4. 查询优化: 查询优化是并行数据库的重要组成部分。研究人员研究了启发式的方法对并行执行计划空间做裁剪,以减少搜索空间的代价。

比较著名的并行数据库系统有 Arbre、Bubba、Gamma、Teradata 及 XPRS 等。

面向领域的数据库新技术

数据库技术被应用到特定的领域中,出现了数据仓库、工程数据库、统计数据库、空间数据库、科学数据库等多种数据库,使数据库领域的应用范围不断扩大。

image-20240903102334841

工程数据库

工程数据库(Engineering Data Base, EDB)是一种能存储和管理各种工程设计图形和工程设计文档,并能为工程设计提供各种服务的数据库。

工程数据库又称为 CAD 数据库、设计数据库、技术数据库、设计自动化数据库等。主要用于 CAD/CAM/CIM、地理信息处理、军事指挥、控制、通信等工程应用领域。

工程数据库可以在关系数据库系统的基础上扩充改进或者开发新的数据库管理系统。

工程数据库的主要功能:

  1. 支持复杂对象(如图形数据、工程设计文档)的表示和处理;
  2. 可扩展的数据类型;
  3. 支持复杂多样的工程数据的存储和集成管理;
  4. 支持变长结构数据实体的处理;
  5. 支持工程长事务和嵌套事务的并发控制和恢复;
  6. 支持设计过程中多个不同数据版本的存储和管理;
  7. 支持模式的动态修改和扩展;
  8. 支持多种工程应用程序等。

空间数据库

空间数据是用于表示空间物体的位置、形状、大小和分布特征等诸方面信息的数据,适用于描述所有二维、三维和多维分布的关于区域的现象。

特点:

  1. 包括物体本身的空间位置及状态信息。
  2. 包括表示物体的空间关系(即拓扑关系)的信息。

空间数据库(Spatial Data Base System, SDBS):是描述、存储和处理空间数据及其属性数据的数据库系统。其作用是有效的利用卫星遥感资源迅速绘制出各种经济专题地图。

空间数据库研究的主要内容:

  1. 空间数据模型,描述空间实体和空间实体关系的数据模型。
  2. 空间数据查询,包括位置查询、空间关系查询和属性查询。
  3. 空间数据库系统,利用现有的关系数据库管理系统扩充建立。上层是各种空间应用,如 GIS 应用、CAD 应用等;中间层是空间数据库系统,下层是成熟的数据库管理系统。
  4. 查询语言,大多是以 SQL 语言为基础,增加相应的函数实现对空间对象和空间关系的查询。

数据库技术发展趋势

数据管理技术面临的挑战

推动数据库发展的 3 个主要动力是数据、应用需求、计算机相关技术。

数据的变化

  1. 数据海量化,要求系统具有高度的可扩展性和可伸缩性。
  2. 数据类型越来越多样和异构。
  3. 图形图像、视频音频等视觉听觉数据蕴含在流数据中,并存在大量冗余和噪声。

应用和需求的发展

  1. 数据处理和应用的领域已从 OLTP 为代表的事务处理扩展到 OLAP 分析处理。
  2. 从对数据仓库中结构化的海量历史数据的多为分析发展到对海量非结构化数据的复杂分析和深度挖掘。
  3. 计算机硬件的迅速发展,要求利用新的硬件技术满足海量数据存储和管理的需求。

数据管理技术的发展与展望

大数据给数据管理、数据处理和数据分析提出了全面挑战。支持海量数据管理的系统应具有:高可扩展性(满足数据量增长的需要)、高性能(满足数据读写的实时性和查询处 理的高性能)、容错性(保证分布系统的可用性)、可伸缩性(按需分配资源)等。

NoSQL 是指非关系型的、分布式的、不保证满足 ACID 特性的一类数据管理系统。

NoSQL 技术的特点:

  1. 对数据进行划分(partitioning),通过大量节点的并行处理获得高性能。
  2. 放松对数据的 ACID 一致性约束,允许数据暂时出现不一致情况,接受最终一致性(eventual consistency)。
  3. 对各个数据分区进行备份,应对节点可能的失败。

NoSQL 技术依据存储模型可分为: 基于 Key-Value 存储模型、基于 Column Family(列分组)存储模型、基于文档模型和基于图模型的 NoSQL 数据库技术 4 类。

2004 年 Google 首次发布了基于 NoSQL 技术的 MapReduce 技术,该技术框架包括:高度容错的分布式文件系统、并行编程模型和并行执行引擎。

传统关系数据库系统提供了高度的一致性、精确性、系统可恢复性等关键特性,仍然是事务处理系统的核心引擎,无可替代。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇