1 引言
数据库技术是从二十世纪七十年代提出的,它是数据处理和应用的重要工具。那个时代的数据库技术是当代数据库技术的基本原型,也称为数据库技术的三次“革命”,七十年代左右出现的层次网状数据库,到八十年代早期出现的关系数据库。随着应用领域的扩展,关系数据库突出了很多自身限制,以至于后来出现的面向对象数据库系统的出现,也是当今数据库技术范畴探索的可取方向。从总体上来说,数据的处理也历经了三次“革命”,第一次“革命”是手工记录,那时候记录数据是纯人力执行;第二次“革命”是文件系统,是在计算机的诞生以后;第三次“革命”是数据库记录,这时候的数据处理已经趋于完善。数据库技术是针对文件系统所不能处理的问题,也就是不能数据共享和数据管理所提出的。该技术与人工智能技术以及网络通讯技术,程序开发技术等技术的相结合,使得数据库技术有了更为宽广的应用前景。
2 早期数据库技术的发展
2.1 第一代数据库技术
二十世纪下半叶,数据库这个名词诞生,其作用就像名字一样,用来存放管理数据的仓库,数据仓库,也就是存取数据的一个站点。数据库的一般定义是:存储在存储空间内、具有组织性、具有共享性的数据大汇聚,其首要作用,就是使数据库中的资源信息,得到更好的共享,以及数据的安全性提高,方便对数据的管理。从二十世纪七十年代就有了数据库的基本雏形,是建立在数据库上的一种对数据进行操作的一种技术。随着计算机技术在各个行业内的蔓延开展和普遍应用,磁盘技术取得飞速进展,系统文件所展现的弊端,加快了数据库技术的诞生[1]。
早期的数据库技术大体分为第一代和第二代数据库技术。第一代是以层次,网状数据模型的数据库技术。层次模型数据库结构图如图1所示。
结点R1 |
结点R2 |
结点R3 |
结点R4 |
结点R5 |
图1 层次模型数据库技术结构图
在层次模型数据库中,每个结点只有一个双亲,可以有多个子女结点。因此,数据模型本身优点就是比较单一,实体之间的联系也是固定好的,并且都是预先定义好的,完整性也比较高,层次模型的数据库技术最大的优点就是让人一目了然。但是现实世界中,有很多联系不是层次模式能描述的,多对多的联系,一个结点有很多双亲等,在描述这样的联系的时候,层次模式避免不了有点麻烦。
与层次模型类似,网状模型数据库中,每个结点表示一个实体,每个记录类型可以包含如干个属性。结点直接的联系表示实体直接的联系。层次模型中子女结点与双亲结点的联系是唯一的,但是在网状模型中,这种联系可以不唯一。因此,网状模型数据库可以更适合描述复杂的实体联系。网状数据库结构图如图2所示。
结点R1 |
结点R2 |
结点R3 |
图2 网状模型数据库技术结构图
相对于层次数据库技术,网状模型数据库更能直观的描述出复杂的对象之间的联系,一个结点可以有多个双亲,存取效率也大大提高。但是随着结构的复杂,不容易使用户掌握,同时也加重了编程的负担。
总的来说,第一代数据库技术具有以下特点:
2.2 第二代数据库技术
由于现实世界中很多联系已经不能用层次和网状来描述,因此,1970年IBM公司提出了关系模型的数据库技术概念,为关系模型数据库技术的发展,提供了大量理论依据,成为数据库技术发展开天辟地的大事件。第二代数据库技术即关系模型数据库技术刚一问世,就因为自身简单的概念,易懂易学的数据库语言,备受客户青睐。因为客户不需要了解复杂的存取路径,只需要知道要做什么,就能对数据库操作
关系模型数据库技术,是支持关系模型的数据库系统操作技术,是以关系模型为基础的。所谓关系,就是指描述对象直接的联系,通常将一个没有重复行和重复列的二维表看成一个关系,每一个关系都有一个关系名。下面介绍一下关系数据库技术的结构如表1所示。
表1 关系模式数据库结构
姓名 |
学号 |
性别 |
出生日期 |
籍贯 |
张三 |
20102333 |
男 |
1990-12-12 |
山东 |
李四 |
20102223 |
女 |
1992-3-4 |
北京 |
王五 |
20102234 |
男 |
1991-2-3 |
上海 |
如表1所示,在管理学生信息应用上,其中每个学生都对应多个关系,用关系模型数据库会更加方便。因此,关系模型数据库技术具有以下特点:
3 数据库技术发展的现状
3.1 数据库技术的主流
历经几个时代的发展,当今使用最为广泛的是关系数据库系统和面向对象数据库技术,其中关系数据库技术在当代数据库的地位依然不可撼摇。直到九十年代早期,关系数据库依然受到大众爱戴,但是面向对象型数据库对它产生的“威胁”仍然不可小视。面向对象数据库技术是把面向对象和数据库技术巧妙的连接在一起,使得对数据的分析、设计,最大程度的满足人们的需求,使得工作人员既能保证工作质量又能保证工作效率。当今,一部分人预言下一代数据库将会是支持XML格式模型的新型数据库,他们是根据网络使用范围的增加,XML数据的频繁使用。相反,另外一部分学者无论是处理XML格式数据、还是复杂的多媒体内容管理,关系型数据库技术都必将成为主流。因为理论上那些执行命令都是建立在关系系统数据库技术基础上的扩展。尽管他们在对下一代的新型数据库探讨中究竟会朝着什么样的方向发展问题上具有争议,但他们中大多数人不会否认关系型数据库技术在当今的地位。
3.2面向对象数据库技术的诞生
面向对象数据库技术属于第三代数据库技术。有人说90年代是数据库的时代,随着人工智能技术,网络通讯技术的普及,有效的刺激了数据库技术的发展。基于第一代和第二代数据库自身的局限性,迫切需要开发一种功能先进、通用性强的数据库。1989年,为了给OODB定义,M.Ackinson通过“面向对象数据库宣言”一文,提出了面向对象数据库所具备的特性和数据库的相关基本原则,即复杂对象性,计算完备性,对象标识性,封装性等等[4]。为了满足各种新技术对数据库操作的需求,面向数据库技术诞生了。类似许多复杂对象,动态数据,面向对象数据库巧妙的处理了对数据操作的复杂问题。目前的面向对象数据库从理论到实践,均已受到广泛的关注。
3.3 移动数据库技术的发展
最主要的特点也是最重要的特点就是数据库技术的应用范围涉及到各个技术范围。首先,计算机其它新兴领域中技术的革新,极大的刺激了数据库技术的革新。因此,移动数据库技术诞生了。简单点说,移动数据库技术就是空间数据库与时态数据库技术的结合体。空间对象随时间而不断的发生变化,称为时空变化。在时空数据库中,一般分为两类对象,一类是静态的对象,另一类是动态的对象。虽然传统数据库技术已经非常完善,但是要处理数据库中不断变化的数据,还需要考虑移动数据所具有的特性,因此,移动数据库技术在当代数据库技术中有着举足轻重的地位。例如,移动数据库技术在导航应用如图3所示[5]。
用户界面 |
位置信息子系统 |
查询处理子系统 |
移动对象子系统 |
移动对象管理系统 |
移动对象索引系统 |
地图生成管理子系统 |
数据库 |
用户 |
图3 移动数据库技术应用
3.4 分布式数据库技术的探索
基于以数据库技术来满足数据库应用的不同要求的特殊应用,在传统基础上的数据库,结合各种专业应用的特点,发展起来的分布式数据库技术,这是数据库技术发展的一个突破点。分布式数据库技术,是指物理上分散,而逻辑上集中的数据库技术。分布式数据库技术,将地理位置上分散而处理却需要不同程度集中的,多个逻辑单位联系起来,组成一个数据库系统。分布式数据库技术核心原理如图4所示[6]。
|
局部数据库 |
局部概念模式 局部内模式 |
网络 |
局部数据库 |
局部数据库 |
全局数据字典 |
全局数据字典 |
全局外模式 |
局部 模式 |
图4 分布式数据库技术
3.5多媒体数据库技术产生的影响极其广泛
传统的数据库技术处理的只是文本数据,因此,我们把其他媒体数据称之为多媒体,例如视频,音频等[7]。严格说来,多媒体是指单一的媒体,但是由多种媒体来表达的数据形式。要管理这些数据,只建立一个存放他们的数据库,是没多少用处的。关键所在,是对多媒体快速检索,才能有效的利用这些多媒体数据。多媒体数据库技术的应用原理如图5所示。
多媒体数据库 |
现场媒体 |
预编媒体 |
离散媒体 |
联系媒体 |
多维媒体 |
生成模式 |
时间模式 |
表演模式 |
图5 多媒体数据库技术应用原理
4 数据库技术发展的方向
由关系型数据库技术转向其他数据库技术的几个关键问题:面向对象数据库技术,有很大可能性取代关系型数据库技术的地位,因为他们发现现有的关系模式数据库技术来描述现实的复杂的对象已经导致工作效率的极度下降。与此相反,面向对象的数据数据库技术所呈现的基本成熟的理论重心以及实践的根本思想都已经趋于成熟,使得面向对象数据库技术与人们执行处理数据对象的需求更加吻合,用它来处理复杂对象,更加人性化。对于这个观点,有人提出明确态度,分析出将来的数据库技术,势必朝着面向对象数据库技术发展。另一观点认为,也可以在关系模型数据库中引入面向对象的新型数据库技术,即面向对象的关系模型数据库技术。关系型数据库技术几乎是当前用来衡量数据库系统完美与否的核心尺度,关系和常规语言基本可实现指定的对数据库进行数据操作,但其非常局限的数据类型、简单的建立模型功能、结构制约性等一系列因素,最终导致关系型数据库技术的发展停滞不前。众所周知,早期面向对象数据库技术是由一种程序设计语言发展来的,其理论依据是用基本元素来阐述复杂的对象,其本身是以现实世界的实体为对象,但它的适应性和灵活性不如关系型数据库技术。因而,一部分研究人员认为将关系型数据库的灵活性导入到面向对象型数据库技术,未必不是进行研讨数据库技术一个有效的发展策略[8]。虽然面向对象数据库技术的具备可以描述复杂的数据类型和模型,但是,不少学者因为其没有一定的数据模式以及格式理论而对其未来产生质疑,因此没有严谨的数据逻辑理论,可能成为面向对象型数据库技术发展的障碍。因此,又有研究人员提出演绎数据库技术,是指具有演绎推理能力的数据库。普通情况下,它是由一个数据库管理系统以及一个规则管理系统来共同完成的。存储在数据库中的事实数据称为外延数据库,而事实上是由逻辑规则定义为内涵数据库。重要的探索内容是如何有效地计算逻辑规则,如递归查询的优化、规则的维护等。而演绎数据库仅仅只能处理平面的数据类型,尽管它具有坚实的理论基础。所以,将两者互补,也是学者们所预言的又一个方向[9]。
综上所述,推动数据库技术朝各个方向发展的三个直接因素,总体包括数据、领域需求以及数据库技术应用时效性。特别是互联网的出现,需要处理的数据类型复杂度不断提高和当代数据资源的迅速增长。与此同时,数据库应用的领域也不断的涉及到更深更广的空间扩展。行业领域的信息一体化也快速改变了的数据库技术的发展环境,从以前的对数据库低依赖性,到现在的基本完全依赖数据库,使数据库技术革新者肩负起更重的任务。我们能从这些发展中总结出数据库技术发展所呈现的大致规律,并通过综合一系列变化的因素,分析出暗中推动着数据库技术的前进的步伐的直接动力,而一系列新的数据库技术,例如上面说的分布数据库技术、多媒体数据库技术、移动数据库技术等技术的产生,就是这些因素综合作用的结果。
5 数据库技术发展的前景
5.1 云数据库技术
处于当前最前沿的数据库技术当属云数据库技术,作为一项云计算技术,它是在软件成为应用潮流后的大背景下一步步成长起来的。首先,云计算很大程度地增强了数据库的对数据的存储能力,消除了对人员、硬件、软件等重复的配置,让软硬件更新变得更加容易,同时,许多后台功能被虚拟化。其次,云数据库技术具备很高的可扩展性以及很高的可用性,另一方面还支持资源有效分发。在云数据库技术应用当中,客户端根本不需要了解云数据库的底层细节,所有的底层硬件都已经被虚拟化,对客户端而言是透明的。它就好比在使用一个运行在单一服务器上的数据库一样,既可以非常方便,容易的操作,同时又可以在理论上获得非常强大的存储和运行能力。云数据库技术原理如图6所示[10]。
云端 数据存储 计算 |
应用服务器 |
Web服务器 |
桌面客户端 |
Web客户端 |
移动客户端 |
第三方服务 |
图6 云数据库技术原理
5.2 NoSQL数据库技术
对于大型网站来说,可能每天存在着大量动态数据需要处理,而关系模型的数据库操作技术已经显得有些力不从心。另一方面,好多操作都要求单表查询,因此,关系模型的数据库技术在这些越来越多的应用场景下显得不占优势了。NoSQL数据库技术就是为了解决这类问题的非关系数据库应运而生。NoSQL是非关系型信息处理的模糊概念。它不仅打破了长久以来关系型数据库与ACID理论大一统的局面,而且还撼动了关系模型数据库技术在当前数据库应用中的地位。NoSQL 数据存储不需要特定的多表结构,往往也不存在关联操作。当今的软硬件应用体系结构,需要数据存储能够满足横向伸缩性,而 NoSQL存储就能很好的满足这个需求。其性能,在数据处理上是关系型数据库无法相比的。其结构原理如图7所示[11]。
MySQL数据库 |
某些只读NoSQL数据库 |
客户端 |
NoSQL数据集 |
图7 NoSQL数据库结构图
虽然NoSQL数据库的种类很多,但它们都有一个共同的特征,那就是去掉关系型数据库的关系模式。数据之间无关联,这样就使得数据在使用起来非常容易扩展。也在架构的层面上带来了非常便利的可扩展的能力。另一方面,NoSQL数据库尤其在大数据量下,所表现出具有非常高的读写性能,这得益于它的无关系性,简单的数据库结构。
6 总结
数据库技术是近年来各个领域数据库系统的重点研究对象。但由于应用领域环境的特殊性,传统的数据库技术并不能直接应用于当前的计算环境。本论文主要讨论了早期和当前数据库的技术特点,总结了各种数据库现阶段在各方面的应用以及存在的一些问题,最后展望了最新数据库技术在未来的应用前景。但是数据库技术是一项新型且复杂的技术,涉及的应用范围比较广泛,我们国外的一些数据库技术研究不是太深。想要更深入的了解研究数据库技术,还需要全体计算机从事研究人员做进一步的研究。