添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1. 数据管理的诞生

数据库的历史可以追溯到五十年前,那时的数据管理非常简单。通过大量的分类、比较和表格绘制的机器运行数百万穿孔卡片来进行数据的处理,其运行结果在纸上打印出来或者制成新的穿孔卡片。而数据管理就是对所有这些穿孔卡片进行物理的储存和处理。然而, 1 9 5 1 年雷明顿兰德公司( Remington Rand Inc. )的一种叫做 Univac I 的计算机推出了一种一秒钟可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命。 1956 IBM 生产出第一个磁盘驱动器 —— the Model 305 RAMAC 。此驱动器有 50 个盘片,每个盘片直径是 2 英尺,可以储存 5MB 的数据。使用磁盘最大的好处是可以随机地存取数据,而穿孔卡片和磁带只能顺序存取数据。

1951 Univac 系统使用磁带和穿孔卡片作为数据存储。

数据库系统的萌芽出现于 60 年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需要。能够统一管理和共享数据的数据库管理系统( DBMS )应运而生。数据模型是数据库系统的核心和基础,各种 DBMS 软件都是基于某种数据模型的。所以通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。

最早出现的是网状 DBMS ,是美国通用电气公司 Bachman 等人在 1961 年开发成功的 IDS Integrated DataStore )。 1961 年通用电气公司( General ElectricCo. )的 Charles Bachman 成功地开发出世界上第一个网状 DBMS 也是第一个数据库管理系统 —— 集成数据存储( Integrated DataStore IDS ),奠定了网状数据库的基础,并在当时得到了广泛的发行和应用。 IDS 具有数据模式和日志的特征。但它只能在 GE 主机上运行,并且数据库只有一个文件,数据库所有的表必须通过手工编码来生成。之后,通用电气公司一个客户 ——BF Goodrich Chemical 公司最终不得不重写了整个系统。并将重写后的系统命名为集成数据管理系统( IDMS )。

网状数据库模型对于层次和非层次结构的事物都能比较自然的模拟,在关系数据库出现之前网状 DBMS 要比层次 DBMS 用得普遍。在数据库发展史上,网状数据库占有重要地位。

层次型 DBMS 是紧随网络型数据库而出现的。最著名最典型的层次数据库系统是 IBM 公司在 1968 年开发的 IMS

Information Management System ),一种适合其主机的层次数据库。这是 IBM 公司研制的最早的大型数据库系统程序产品。从 60 年代末产生起,如今已经发展到 IMSV6 ,提供群集、 N 路数据共享、消息队列共享等先进特性的支持。这个具有 3 0 年历史的数据库产品在如今的 WWW 应用连接、商务智能应用中扮演着新的角色。

1973 Cullinane 公司(也就是后来的 Cullinet 软件公司),开始出售 Goodrich 公司的 IDMS 改进版本,并且逐渐成为当时世界上最大的软件公司。

2. 关系数据库的由来

网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而后来出现的关系数据库较好地解决了这些问题。

1970 年, IBM 的研究员 E.F.Codd 博士在刊物《 Communication of the ACM 》上发表了一篇名为 “A Relational Model of Data for Large Shared Data Banks” 的论文,提出了关系模型的概念,奠定了关系模型的理论基础。尽管之前在 1968 Childs 已经提出了面向集合的模型,然而这篇论文被普遍认为是数据库系统历史上具有划时代意义的里程碑。 Codd 的心愿是为数据库建立一个优美的数据模型。后来 Codd 又陆续发表多篇文章,论述了 范式 理论和衡量关系系统的 12 条标准,用数学理论奠定了关系数据库的基础。关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。但是当时也有人认为关系模型是理想化的数据模型,用来实现 DBMS 是不现实的,尤其担心关系数据库的性能难以接受,更有人视其为当时正在进行中的网状数据库规范化工作的严重威胁。为了促进对问题的理解, 1974 ACM 牵头组织了一次研讨会,会上开展了一场分别以 Codd Bachman 为首的支持和反对关系数据库两派之间的辩论。这次著名的辩论推动了关系数据库的发展,使其最终成为现代数据库产品的主流。

1969 Edgar F “Ted” Codd 发明了关系数据库

1970 年关系模型建立之后, IBM 公司在 San Jose 实验室增加了更多的研究人员研究这个项目,这个项目就是著名的 System R 。其目标是论证一个全功能关系 DBMS 的可行性。该项目结束于 1979 年,完成了第一个实现 SQL DBMS 。然而 IBM IMS 的承诺阻止了 System R 的投产,一直到 1980 System R 才作为一个产品正式推向市场。 IBM 产品化步伐缓慢的三个原因: IBM 重视信誉,重视质量,尽量减少故障; IBM 是个大公司,官僚体系庞大; IBM 内部已经有层次数据库产品,相关人员不积极,甚至反对。

然而同时, 1973 年加州大学伯克利分校的 Michael Stonebraker Eugene Wong 利用 System R 已发布的信息开始开发自己的关系数据库系统 Ingres 。他们开发的 Ingres 项目最后由 Oracle 公司、 Ingres 公司以及硅谷的其他厂商所商品化。后来, System R Ingres 系统双双获得 ACM 1988 软件系统奖

1976 年霍尼韦尔公司 (Honeywell) 开发了第一个商用关系数据库系统 ——Multics Relational Data Store 。关系型数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善。其代表产品有 Oracle IBM 公司的 DB2 、微软公司的 MS SQL Server 以及 Informix ADABASD 等等。

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 、数据库巨人的诞生 —— 甲骨文公司( Oracle

1976 IBM E.F.Codd 发表了一篇里程碑的论文 “R 系统 : 数据库关系理论 ,介绍了关系数据库理论和查询语言 SQL Oracle 的创始人 Ellison 非常仔细地阅读了这篇文章,被其内容震惊,这是第一次有人用全面一致的方案管理数据信息。作者 E.F.Codd 十年前就发表了关系数据库理论,并在 IBM 研究机构开发原型,这个项目就是 R 系统,存取数据表的语言就是 SQL Ellison 看完后,敏锐意识到在这个研究基础上可以开发商用软件系统。而当时大多数人认为关系数据库不会有商业价值。 Ellison 认为这是他们的机会 : 他们决定开发通用商用数据库系统 Oracle ,这个名字来源于他们曾给中央情报局做过的项目名。几个月后,他们就开发了 Oracle 1.0 。但这只不过是个玩具,除了完成简单关系查询不能做任何事情,他们花相当长的时间才使 Oracle 变得可用,维持公司运转主要靠承接一些数据库管理项目和做顾问咨询工作。而 IBM 却没有计划开发,为什么蓝色巨人放弃了这个价值上百亿的产品,原因有很多: IBM 的研究人员大多是学术出身,他们最感兴趣的是理论,而非推向市场的产品,从学术上看,研究成果应公开,发表论文和演讲能使他们成名,为什么不呢?还有一个很主要的原因就是 IBM 当时有一个销售得还不错的层次数据库产品 IMS 。直到 1985 I B M 才发布了关系数据库 D B 2 ,Ellision 那时已经成了千万富翁。 Ellison 曾将 IBM 选择 Microsoft MS-DOS 作为 IBM-PC 机的操作系统比为: 世界企业经营历史上最严重的错误,价值超过了上千亿美元。 ”IBM 发表 R 系统论文,而且没有很快推出关系数据库产品的错误可能仅仅次之。 Oracle 的市值在 1996 年就达到了 280 亿美元。

5. 面向对象数据库

随着信息技术和市场的发展,人们发现关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理所谓的 表格型数据 ,却对技术界出现的越来越多的复杂类型的数据无能为力。九十年代以后,技术界一直在研究和寻求新型数据库系统。但在什么是新型数据库系统的发展方向的问题上,产业界一度是相当困惑的。受当时技术风潮的影响,在相当一段时间内,人们把大量的精力花在研究 面向对象的数据库系统 (object oriented database)” 或简称 “OO 数据库系统 。值得一提的是,美国 Stonebraker 教授提出的面向对象的关系型数据库理论曾一度受到产业界的青睐。而 Stonebraker 本人也在当时被 Informix 花大价钱聘为技术总负责人。

然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。理论上的完美性并没有带来市场的热烈反应。其不成功的主要原因在于,这种数据库产品的主要设计思想是企图用新型数据库系统来取代现有的数据库系统。这对许多已经运用数据库系统多年并积累了大量工作数据的客户,尤其是大客户来说,是无法承受新旧数据间的转换而带来的巨大工作量及巨额开支的。另外,面向对象的关系型数据库系统使查询语言变得极其复杂,从而使得无论是数据库的开发商家还是应用客户都视其复杂的应用技术为畏途。

6. 数据管理的变革

二十世纪六十年代后期出现了一种新型数据库软件:决定支持系统 (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 语言的出现,给数据库系统的发展开辟了一片新的天地。