出现之前
在计算机出现之前,是否存在"数据库"呢?
远古时代,人类就开始记录和保存数据。例如埃及人发明了多种记录系统,用于记录、追踪和管理数据。
进入现代社会,在计算机广泛应用之前,也有很多“数据库系统“。
例如,用于管理图书馆内容的 Dewey Decimal System。
Dewey Decimal System:是一套管理图书馆内容的系统。它将图书馆的所有知识划分为10组,每组分配100个数字,将图书馆所有内容有效组织起来,便于分类、记录、保存和管理。
这些系统虽然都不是真正的数据库系统,但是一些基本原理,仍适用于现代数据库系统。
20世纪60年代–登上舞台
随着计算机的使用,数据库系统在20世纪60年代登上历史舞台。计算机和数据库系统的历史总是相互联系的。
随着计算机价格下降,将数据存储在计算机上变得更加容易,数据库系统成为私人组织降低运营成本的一种必然选择。
在这十年中有两种流行的数据模型:
- 网络模型
- 分层模型
网络和分层模式是什么?已经被淘汰的东西就没必要介绍啦!
当时最成功的的商业数据库是SABRE系统,IBM使用它来帮助美国航空公司管理其预订数据。
有趣的是,2023年美国联邦航空局(FAA)发生的一次数据库宕机事件,导致全美上万航班瘫痪。据说它们还在使用几十年前的数据库系统,不会还是继承自上世纪60年代的产物吧?
因系统宕机,美国联邦航空局(FAA)当地时间周三(2023年1月11日)上午停飞了所有国内出发航班,迄今已致上万个航班被延误或取消。根据美国联邦航空局最新消息,其初步调查发现故障原因是“一个损坏的数据库文件”。
20世纪70年代–关系模型
E.F. Codd博士发表了一篇重要的论文,介绍了关系数据库,他的思想改变了人们对数据库的看法。后人称他为关系模型之父。
在他的模型中,数据库逻辑组织(或模式)与物理信息存储解耦,这成为数据库系统的标准设计原则。
在1974年到1977年之间,出现了两个意义深远的关系数据库系统原型:
- UBC开发的Ingres
- IBM创建的system R
Ingres使用了一种名为QUEL的查询语言,它导致了Ingres Corp.、MS SQL Server和Sybase等系统的创建。
另一方面,System R使用SEQUEL查询语言,它为DB2和Oracle的开发做出了贡献。
也是在这十年中,关系数据库管理系统(RDBMS)成为一个公认的术语。
1976年,P. Chen提出了一种名为实体-关系(Entity-Relationship, ER)的数据库模型。该模型使设计人员能够专注于数据应用,而不是逻辑表结构。
20世纪80年代–标准语言
70年代的标志性事件是确立了关系模型作为数据库系统的主流模型,随之出现了大量关系数据库系统。但这些关系数据库系统都有着自己的查询语言,给用户使用带来了不便。
1986年,美国国家标准协会(American National Standards Institute)选定结构化查询语言(Structured Query Language, SQL)成为标准查询语言。1987,国际标准化组织(International Organization for Standardization)也选定SQL成为标准查询语言。
从此实现了用户接口统一。
另一方面,随着计算机销售的快速增长,关系数据库系统在商业上取得了空前的成功,这导致网络和分层数据库的普及大幅下降,甚至消失。
20世纪90年代–关键时期
20世纪90年代是数据库和数据库系统发展的关键时期。
与20世纪60年代类似,观念转变和技术进步导致了该行业的进一步发展。
在一次洗牌之后,大多数幸存下来的公司都能以高价出售复杂的数据库产品,代表有甲骨文、微软和IBM等。
大约在这个时候,出现了用于应用程序开发的新型客户端工具,包括Oracle Developer和PowerBuilder等。还出现了许多生产力工具,如ODBC和Excel/Access。
在这十年的中期,互联网的出现导致了数据库行业的指数级增长。
- 需求增多:普通桌面用户,开始通过客户机访问远程服务器端的数据库系统来访问数据。
- 要求提高:随着越来越多的用户购买个人电脑并上网,对数据库系统并发能力的要求也越来越高。
- 解决方案:CGI、GCC、MySQL和Apache等开源解决方案出现
- 负载模式:在线交易处理(OLTP)和在线分析处理(OLAP)开始成熟
此外,20世纪90年代早期,也出现了对象数据库管理系统(ODBMS)的原型。
21世纪初-三足鼎立
尽管互联网行业在21世纪初经历了衰退,但数据库应用程序规模持续增长,商业数据库领域逐步形成甲骨文、微软和IBM三足鼎立的局面。
未完待续
- NoSQL什么时候出现?为什么会出现?
- 数据库现状是怎样的?
- 未来数据库会发展成怎样?
系列文章