第一章 前 言
科学技术是第一生产力,数据则是科学研究的基础与源泉。数据库技术的出现与发展对数据存储、处理与信息挖掘起到了至关重要的作用。本文将系统地介绍数据库技术的发展历史、当前主流技术和产品,并对数据库未来的发展演变做出合理的预测。
1.1 数据库技术概述
数据库是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
1.2 数据库技术的价值
从数据库技术的产生到当今社会,数据库在数据管理方面起到了不可磨灭的技术,极大地带动了科学研究的发展。在这几十年里,数据库技术经历三代演变,取得了十分辉煌的成就:造就了Bachman(巴克曼)、Codd(考特)和Gray(格雷)三位图灵奖得主;发展了以数据建模和数据库管理系统(DBMS)核心技术为主,内容丰富的一门学科;带动了一个巨大的数百亿美元的软件产业。在互联网大数据人工智能时代,对数据的控制、甄别与管理则体现出一个国家的信息化程度。
第二章 数据库技术的发展历史
在处理器、计算机内存、计算机存储和计算机网络等领域的技术进步之后,数据库的大小、性能和性能以及它们各自的DBMS都以数量级增长。数据库技术的发展可以根据数据模型或结构划分为三个时代:导航数据库时代、SQL/关系时代、后关系时代。其中后关系包含了面向对象型数据库及新型数据库技术的发展。下面按照时间顺序介绍每个时期的主流数据库技术。
2.1 数据库的起源
60多年前,数据以一种原始与粗糙的方式进行管理。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。但是这样并不能满足对日益增长数据管理控制的需求。数据以某种抽象的方式组织起来,使存储和检索更加有效,这是不可避免的。
2.2 20世纪60年代,基于导航的数据库管理系统
20世纪60年代计算机开始广泛地应用于数据管理,但对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要。能够统一管理和共享数据的数据库管理系统(DBMS)应运而生[1]。数据模型是数据库系统的核心和基础,各种DBMS 软件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系统分成网状数据库(Network database)、层次数据库(Hierarchical database)和关系数据库(Relational database)三类。
图1:网状数据库模型
2.3 20世纪70年代初,关系数据库的发展
1970年,Codd撰写了大量论文,概述了数据库建设的新方法,最终实现了大型共享数据库的开创性关联数据模型。Codd描述了一个用于存储和处理大型数据库的新系统。关系模型通过将数据分解为一系列规范化表,可选元素从主表移出到只有在需要时才占用空间的位置。可以在这些表中自由插入,删除和编辑数据,DBMS可以进行任何维护,以向应用程序/用户呈现表视图。
关系模型还允许数据库的内容发展,而不必不断重写链接和指针。关系部分来自引用其他实体的实体,称为一对多关系,如传统的层次模型,以及像导航(网络)模型这样的多对多关系[2],[3]。因此,关系模型既可以表达层次结构模型,也可以表示导航模型,也可以表示其原生表格模型,从而根据应用程序的需要许对这三种模型进行纯粹的或组合的建模。
图2:关系数据库模型
2.4 20世纪70年代后期,SQL的发展
在20世纪70年代早期,IBM开始基于Codd的概念松散地开发原型系统System R。第一个版本于1974年5月准备就绪,然后在多表系统上开始工作,在该系统中可以拆分数据,以便记录的所有数据不必存储在单个大块“块”。随后的多用户版本在1978年和1979年由客户进行了测试,此时添加了一种标准化的查询语言——SQL(Structured Query Language)。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套[4],这使它具有极大的灵活性和强大的功能。
2.5 20世纪90年代,面向对象数据库
数据库面临的首要问题之一就是非字符(字母数字)数据的崛起。越来越多的图像、声音文件、地图和视频需要存储、操作和检索。这导致了大量的创新,但 也支离破碎的标准。
图3:面向对象数据库模型
这时面向对象数据库应运而生。面向对象数据库系统(OODBS)支持定义和操作OODB,应满足两个标准:首先它是数据库系统,其次它也是面向对象系统。第一个标准即作为数据库系统应具备的能力(持久性、事务管理、并发控制、恢复、查询、版本管理、完整性、安全性)。第二个标准就是要求面向对象数据库充分支持完整的面向对象(OO)概念和控制机制[5]。综上所述,我们将面向对象数据库简写为:面向对象数据库=面向对象系统+数据库能力。
2.6 21世纪初,NoSQL与NewSQL技术的发展
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题[7],而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储[6],相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
NewSQL一词是由451 Group的分析师Matthew在研究论文中提出的。它代指对老牌数据库厂商做出挑战的一类新型数据库系统。
NewSQL 是对各种新的可扩展/高性能数据库的简称,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性。
2.7 数据库技术的进一步发展
数据仓库是决策支持系统和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。数据仓库,由数据仓库之父比尔·恩门于1990年提出,主要功能仍是将组织透过资讯系统之联机事务处理经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,作一有系统的分析整理,以利各种分析方法如联机分析处理、数据挖掘之进行,并进而支持如决策支持系统、主管资讯系统之创建,帮助决策者能快速有效的自大量资料中,分析出有价值的资讯,以利决策拟定及快速回应外在环境变动,帮助建构商业智能。
数据库技术的进一步发展将在第三章重点介绍。
第三章 当今数据库主流技术和产品介绍与展望
3.1 数据库主流技术
3.1.1信息集成
随着Internet 的飞速发展,网络迅速成为一种重要的信息传播和交换的手段。信息集成系统的方法可以分为:数据仓库方法和Wrapper/Mediator 方法。在数据仓库方法中,各数据源的数据按照需要的全局模式从各数据源抽取并转换,存储在数据仓库中。用户的查询就是对数据仓库中的数据进行查询。另一种方法是Wrapper/Mediator方法[8]。
3.1.2传感器数据库技术
随着微电子技术的发展,传感器的应用越来越广泛。根据传感器在一定的范围内发回的数据,在一定的范围内收集有用的信息,并且将其发回到指挥中心。当有多个传感器在一定的范围内工作时,就组成了传感器网络。传感器网络由携带者所捆绑的传感器及接收和处理传感器发回数据的服务器所组成。
3.1.3移动数据管理
越来越多的人拥有掌上型或笔记本电脑,或者个人数字助理甚至智能手机,这些移动计算机都将装配无线联网设备,用户不再需要固定地联接在某一个网络中不变,而是可以携带移动计算机自由地移动,这样的计算环境,我们称之为移动计算。研究移动计算环境中的数据管理技术,已成为目前分布式数据库研究的一个新的方向,即移动数据库技术。
3.1.4数据加密技术
我们经常需要一种措施来保护我们的数据,防止被一些怀有不良用心的人所看到或者破坏。在信息时代,信息可以帮助团体或个人,使他们受益,同样,信息也可以用来对他们构成威胁,造成破坏。在竞争激烈的大公司中,工业间谍经常会获取对方的情报。因此,在客观上就需要一种强有力的安全措施来保护机密数据不被窃取或篡改。
3.2 (关系)数据库主流产品
3.2.1 ORACLE
ORACLE数据库系统是美国ORACLE公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。具有可用性强、可扩展性强、数据安全性强、稳定性强等优点。
3.2.2 SQL Server
SQL Server是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。 SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server数据引擎是很多企业数据管理解决方案的核心。
3.2.3 MySQL
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。其缺点主要为规模小、功能有限、不支持视图、事件等。
3.2.4 DB2
IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。
DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。
3.2.5 Informix
Informix是IBM公司出品(2001)的关系数据库管理系统家族。作为一个集成解决方案,它被定位为作为IBM在线事务处理旗舰级数据服务系统。Informix在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据库产品。公司的名称Informix便是取自Information 和Unix的结合。Informix第一个真正支持SQL语言的关系数据库产品是Informix SE。InformixSE是在当时的微机Unix环境下主要的数据库产品。它也是第一个被移植到Linux上的商业数据库产品。
3.2.6 Sybase
美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。
Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。
表1:主流数据库产品比较
3.3 数据技术发展趋势
3.3.1 性能与易用性仍是数据库完善的必经之路
关系型数据库所以升级缓慢,其中一个主要原因就是没有关键的技术革新,各大厂商所做的主要工作都是在对自己的产品进行锦上添花式的不断完善。这一发展方向就是使数据库向着需求更少的方向增强。所谓需求更少是指数据库以更少的相对资源消耗、更高的性能运行,并且随着技术的不断进步,数据库变得更加智能,维护和使用将更加简单。这是数据库技术在完善过程中的必经之路[9]。
3.3.2搜索是数据库的未来之路
随着数据库技术的不断完善,用户数据的不断积累,用户的需求也不断提高,在此之上,更高级的应用应运而生,这包括已经成熟的数据仓库应用、广为接受的商业智能应用等。当数据库能够容纳几乎所有数据之后,我们必然面临的一个问题是如何快速获得我们需要的数据。当用户访问数据库时,怎样减少用户的等待,快速返回用户需要的数据是所有数据库都需要解决的问题。
3.3.3开源数据库有望走向应用主流
和Linux 操作系统渐入佳境一样,开放源代码的数据库系统正走向应用的主流。目前主要的开源数据库产品包括MySQL、MaxDB 和PostgreSQL。在MySQL5.0版本升级之后,MySQL 数据库越来越像SQL Server 等大型数据库,并逐渐从开源圈子向企业级市场拓展。开源数据库软件正在以其低成本得到越来越多用户的认可,并迫使主流厂商推出免费版应对。
结束语
数据库技术的发展是与计算机技术发展同步的,从单纯的数据库发展到与之相关的模型库、知识库的集成,其所取得成就是令人瞩目的。当然,所有这些都还有许多局限性,还有许多关键问题等待解决,数据库技术还要面临新的挑战。高效、稳定、高安全性将是所有数据库技术追求的共同目标。
从国内数据库技术发展角度来看,我国目前对数据库技术的研究和应用都还处于较低的水平,与发达国家还有较大的差距,这是值得注意的。
随着计算机的普及和社会信息化,数据库技术将处于越来越重要的地位,在未来的信息社会中,数据库技术必将得到更大、更快的发展。
参考文献
- [1] Grad B, Bergin T J. Guest Editors' Introduction: History of Database Management Systems[J]. IEEE Annals of the History of Computing,
- 2009, 31(4).
- [2] Maier D. The theory of relational databases[M]. Rockville: Computer science press, 1983.
- [3] Selinger P G, Astrahan M M, Chamberlin D D, et al. Access path selection in a relational database management system[M]//Readings
- in Artificial Intelligence and Databases. 1988: 511-522.
- [4] Date C J, Darwen H. A guide to the SQL Standard: a user's guide to the standard relational language SQL[M]. Addison-Wesley, 1989.
- [5] Kavanagh T S, Beall C W, Heiny W C, et al. Object oriented database management system: U.S. Patent 5,838,965[P]. 1998-11-17.
- [6] McCreary D, Kelly A. Making sense of NoSQL[J]. Shelter Island: Manning, 2014: 19-20.
- [7] Mohamed M A, Altrafi O G, Ismail M O. Relational vs. nosql databases: A survey[J]. International Journal of Computer and
- Information Technology, 2014, 3(03): 598-601.
- [8] 宋淑玲, 丁蕊. 数据库技术的发展与主流技术[J]. 黑龙江科技信息, 2009(1):71-71.
- [9] 南延辉. 数据库的发展前景展望及主流技术探析[J]. 科技创业家, 2012(1).