数据库发展及前景
许振波数据库技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入。数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。三十多年来,国内外已经开发建设了成千上万个数据库,它已成为企业、部门乃至个人日常工作、生产和生活的基础设施。同时,随着应用的扩展与深入,数据库的数量和规模越来越大,数据库的研究领域也已经大大地拓广和深化了。30年间数据库领域获得了三次计算机图灵奖(C.W. Bachman, E.F.Codd, J.Gray),更加充分地说明了数据库是一个充满活力和创新精神的领域。
一. 数据库发展简史
1. 数据管理的诞生
数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量的分类﹑比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来
或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。然而,1951年雷明顿兰德公司(Remington Rand Inc)的一种叫做Univac I的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。1956年IBM 生产出第一个磁盘驱动器--the Model 305 RAMAC。此驱动器有50个盘片,每个盘片直径是2英尺,可以储存5MB的数据。使用磁盘最大的好处是可以随机地存取数据,而穿孔卡片和磁带只能顺序存取数据。1951:Univac系统使用磁带和穿孔卡片作为数据存储。数据库系统的萌芽出现于60年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要。能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。数据模型是数据库系统的核心和基础,各种DBMS软件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
2. 关系数据库的由来
网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据
的存储结构,指出存取路径。而后来出现的关系数据库较好地解决了这些问题。1970年,IBM的研究员E.F.Codd博士在刊物《Communication of the ACM》上发表了一篇名为“A Relational Model of Data for Large Shared Data Banks”的论文,提出了关系模型的概念,奠定了关系模型的理论基础。后来Codd 又陆续发表多篇文章,论述了范式理论和衡量关系系统的12条标准,用数学理论奠定了关系数据库的基础。关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。1969:Edgar F。“Ted” Codd发明了关系数据库1970年关系模型建立之后,IBM公司在San Jose实验室增加了更多的研究人员研究这个项目,这个项目就是著名的System R。其目标是论证一个全功能关系DBMS的可行性。该项目结束于1979年,完成了第一个实现SQL的DBMS。同时,1973年加州大学伯克利分校的Michael Stonebraker和Eugene Wong利用System R已发布的信息开始开发自己的关系数据库系统Ingres。他们开发的
Ingres项目最后由Oracle公司、Ingres公司以及硅谷的其他厂商所商品化。后来,System R和Ingres系统双双获得ACM的1988年“软件系统奖”。1976年霍尼韦尔公司(Honeywell)开发了第一个商用关系数据库系统--Multics Relational Data Store。
3. 结构化查询语言
(SQL) 1974年,IBM的Ray Boyce和Don Chamberlin将Codd关系数据库的12条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了SQL(Structured Query Language)语言。SQL语言的功能包括查询、操纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。SQL集成实现了数据库生命周期中的全部操作。SQL提供了与关系数据库进行交互的方法,它可以与标准的编程语言一起工作。自产生之日起,SQL语言便成了检验关系数据库的试金石,而SQL语言标准的每一次变更都指导着关系数据库产品的发展方向。然而,直到二十世纪七十年代中期,关系理论才通过SQL在商业数据库Oracle和DB2中使用。1986年,ANSI把SQL作为关系数据库语言的美国标准,同年公布了标准SQL文本。目前SQL标准有3个版本。基本SQL定义是ANSIX3135-89,“Database Language - SQL with Integrity Enhancement”[ANS89],一般叫做SQL-89。SQL-89定义了模式定义、数据操作和事务处理。SQL-89和随后的ANSIX3168-1989,“Database Language-Embedded SQL”构成了第一代SQL标准。ANSIX3135-1992[ANS92]描述了一种增强
功能的SQL,现在叫做SQL-92标准。SQL-92包括模式操作,动态创建和SQL语句动态执行、网络环境支持等增强特性。在完成SQL-92标准后,ANSI和ISO即开始合作开发SQL3标准。SQL3的主要特点在于抽象数据类型的支持,为新一代对象关系数据库提供了标准。
4. 面向对象数据库
随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。九十年代以后,技术界一直在研究和寻求新型数据库系统。但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究“面向对象的数据库系统(object oriented database)”或简称“OO数据库系统”。值得一提的是,美国Stonebraker教授提出的面向对象的关系型数据库理论曾一度受到产业界的青睐。而Stonebraker本人也在当时被Informix花大价钱聘为技术总负责人。然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。理论上的完美性并没有带来市场的热烈反应。其不成功的主要原因在于,
这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。另外,面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。
5. 数据管理的变革
二十世纪六十年代后期出现了一种新型数据库软件:决定支持系统DSS,其目的是让管理者在决策过程中更有效地利用数据信息。于是在1970年,第一个联机分析处理工具--Express诞生了。其他决策支持系统紧随其后,许多是
由公司的IT部门开发出来的。1985年,第一个商务智能系统(business intelligence)由Metaphor计算机系统有限公司为Procter Gamble公司开发出来,主要是用来连接销售信息和零售的扫描仪数据。同年,Pilot 软件公司开始出售第一个商用客户/服务器执行信息系统--Command Center。同样在这年,加州大学伯克利分校Ingres项目演变成Postgres,其目标是开发出一个面向对象的数据库。此后一年,Graphael
公司开发了第一个商用的对象数据库系统-Gbase。1988年,IBM公司的研究者Barry Devlin和Paul Murphy发明了一个新的术语-信息仓库,之后,IT的厂商开始构建实验性的数据仓库。1991年,W.H. \"Bill\" Inmon出版了一本“如何构建数据仓库”的书,使得数据仓库真正开始应用。1991:W.H.“Bill” Inmon发表了”构建数据仓库” 二十世纪九十年代,随着基于PC的客户/服务器计算模式和企业软件包的广泛采用,数据管理的变革基本完成。数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。Internet的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。
二、数据库的发展方向
未来数据库发展方向
未来数据库发展方向在于智能管理型数据库。
超大容量,更加灵活、方便地使用以及智能化是数据库领域的发展方向。
对于未来数据库产品的发展方向,我认为,新一代的数
据管理技术将会呈现以下几个特征:
降低管理成本
随着商业环境竞争的日益加剧,如何以最低的成本,高质量地管理其IT架构。这给企业带来了两方面的挑战:一方面系统功能日益强大而复杂;另一方面,对这些系统管理和维护的成本越来越昂贵。能自动地对数据库进行监控、调整和修复,以提高产品易用性,同时降低管理成本就成为了数据库追求的目标。
目前,越来越多的基于成本和可管理性的竞争使得市场正在寻找使用更简单、拥有成本更低的数据库。
支持XML
目前XML标准日益成熟,并很快成为各种复杂的异构数据交换的核心技术和未来数据定义的标准格式。业内人士分析认为:“XML在信息管理领域无处不在,不管是管理结构化或非结构化信息,或者用于信息传输,或者是集成信息的映射标准。它现在是不可或缺的。”事实上,在现在这个信息整合时代,国内很多银行、电信等客户在进行应用整合时已
经将XML作为其标准。
在大的发展趋势上,未来数据库还将朝两个方向发展,一是超大容量,支持海量数据处理,支持数据仓库、数据挖掘、分析等;二是更小,如嵌入式数据库,作为一个完整的商用数据库更灵活、方便地使用,尽管全面部署和实现尚需时日,但这些发展趋势是显而易见的。
因篇幅问题不能全部显示,请点此查看更多更全内容