数据库,无疑是信息时代最重要的技术之一,经过多年的发展和完善,市场上已经有了多种基于不同设计理念和商业理念的数据库产品。
数据库的发展历史,可以简单地分为三个阶段:
第一阶段:人工管理阶段
20世纪50年代中期以前,计算机主要用于科学计算,外部存储器只有磁带、卡片和纸带等,还没有磁盘等存储设备,同时,软件系统也只有汇编语言,还没有数据管理方面的软件,数据处理方式主要是批处理。此时的数据不易保存,没有文件的概念。数据不具有独立性。
第二阶段:文件系统阶段
20世纪50年代后期到60年代中期,计算机开始不仅仅用于科学计算,还用于信息管理方面。随着数据量的增加,数据的存储、检索和维护问题成为了紧迫的需要,数据结构和数据管理技术迅速发展起来。此时数据已经可以长期保存,由文件系统管理数据,文件的形式已经多样化,数据具有一定的独立性。
第三阶段:数据库管理系统阶段
20世纪60年代后期,数据管理技术进入数据库系统阶段。数据库系统克服了文件系统的缺陷,提供了对数据更高级、更有效的管理。这个阶段的程序和数据的联系通过数据库管理系统(DBMS)来实现。
进入21世纪之后,随着数据量的爆发式增长,各类大数据处理技术也应运而生,从中催生了NoSQL和NewSQL相关技术。
下面这张表显示了数据库发展史上的一些重要事件。
时间 | 事件 |
1950年以前 | 没有文件概念,数据不具有独立性,没有数据管理方面的软件,外部存储器只有磁带、卡片和纸带,没有磁盘等直接存取设备 |
50年代后期到60年代早期 | 计算机从科学计算拓展到信息管理,数据量快速增加 |
1964 | 世界上第一个数据库系统IDS(Integrated Data Storage) |
1968 | 世界上第一个层次数据库IMS(Information Management System)诞生于IBM |
1970 | IBM的研究员Edgar F.Codd提出关系数据模型 |
1974 | IBM推出关系模型的原型系统System R,同年IBM的Ray Boyce和Don Chamberlin提出SQL |
1976 | Peter Chen提出实体关系模型(Entity-Relationship Model,E-R Model |
1979 | 第一个商业数据库Oracle Release 1诞生 |
1989 | Postgres发布第一个版本,采用BSD版权 |
1992 | SQL92国际标准草案形成 |
1995 | Andrew Yu 和 Jolly Chen将Postgres增加SQL支持并开源到互联网上 |
1996 | MySQL发布,开源数据库开始发展 |
2000年代 | 非关系型数据库NoSQL开始盛行,主要包括4种类型:文档数据库、列簇式数据库、键值数据库、图数据库 |
2003-2006 | Google发表了奠定了业界大规模分布式存储系统的理论基础的三篇论文:Google File System、Google MapReduce、Google BigTable |
2010 | 图数据库Neo4j发布 |
2011 | 结合SQL和NoSQL的NewSQL概念出现 |
2012 | 全球第一个Global Database, Google Spanner诞生 |
2016 | Amazon发表了代表性的云数据库Aurora |
2018 | Oracle发表自治数据库(Oracle Autonomous Database) |
2019 | Google推出自学习数据库SageDB |
这里面值得一提的是在数据库发展史上出现了很多华人的身影,如提出ER模型的陈品山博士,以及为Postgres添加SQL支持的Andrew Yu 和 Jolly Chen。
另外,黑客们在数据库发展史上的贡献也极为丰富。这些黑客以他们执着的精神和高超的技术,为数据库系统的日益完善做出了不可磨灭的贡献。像Tom Lane,他是一位卡耐基梅隆大学(CMU)的电子工程学ph.D(博士),同时也是 PostgreSQL 非常重要的开发人员,对 PostgreSQL 的性能和稳定性以及特性的取舍有极其重要的贡献。
按照不同的划分领域,数据库的发展可以分成以下几个方面:
随着技术的不断更新,下面,数据库技术又会出现哪些新的变化呢?我们将拭目以待。