数据库简史(精简版)

目录

一、RDBMS(关系数据库,Relational DBMS)

数据库 早期史

1.1 Oracle 简史

1.2 MySQL 简史

1.3 Microsoft SQL Server 简史

1.4 PostgreSQL 简史

1.5 DB2 简史

1.6 Microsoft Access 简介

1.7 SQLite 简介

1.8 Teradata 简介

1.9 MariaDB 简介

1.10 Hive 简介

二、KVDB(键值数据库,Key-value store)

2.1 Redis 简史

2.2 Memcached 简介

2.3 Hazelcast 简介

2.4 Ehcache 简介

2.5 Riak KV 简介

2.6 Aerospike 简介

2.7 Oracle NoSQL 简介

2.8 LevelDB 简介

2.9 Infinispan 简介

2.10 Amazon SimpleDB 简介

三、MMDB(多模型数据库,Multi-model )

3.1 Amazon DynamoDB 简介

3.2 Microsoft Azure Cosmos DB 简介

3.3 MarkLogic 简史

3.4 Datastax Enterprise 简介

3.5 OrientDB 简介

3.6 Kdb+ 简介

3.7 ArangoDB 简介

3.8 Apache Ignite 简介

3.9 Apache Drill 简介

3.10 InterSystems Caché 简介

四、DDB(文档数据库, Document store)

4.1 MongoDB 简史

4.2 Couchbase 简史

4.3 CouchDB 简史

4.4 Firebase Realtime Database 简介

4.5 RethinkDB 简介

4.6 Cloudant 简介

4.7 RavenDB 简介

4.8 PouchDB 简介

五、TSDB(时序数据库,Time Series DBMS)

5.1 InfluxDB 简介

5.2 Graphite 简介

5.3 RRDtool 简介

5.4 OpenTSDB 简介

5.5 Prometheus 简介

5.6 Druid 简介

5.7 TimescaleDB 简介

5.8 KairosDB 简介

5.9 Riak TS 简介

5.10 Axibase 简介

六、SE(搜索引擎,Search engines)

6.1 Elasticsearch 简介

6.2 Splunk 简介

6.3 Solr 简介

6.4 Sphinx 简介

6.5 Microsoft Azure Search 简介

6.6 Algolia 简介

6.7 Amazon CloudSearch 简介

6.8 Google Search Appliance 简介

6.9 Xapian 简介

6.10 SearchBlox 简介

七、GDB(图数据库,Graph DBMS)

7.1 Neo4j 简介

7.2 Apache Giraph 简介

7.3 JanusGraph 简介

7.4 Dgraph 简介

7.5 TigerGraph 简介

7.6 InfiniteGraph 简介

7.7 Sparksee 简介

7.8 HyperGraphDB 简介

7.9 FlockDB 简介

7.10 InfoGrid 简介

八、ODB(对象数据库,Object-oriented DBMS)

8.1 Versant Object Database 简介

8.2 ObjectStore 简介

8.3 Db4o 简介

8.4 Matisse 简介

8.5 GemStone/S 简介

8.6 ObjectDB 简介

8.7 Starcounter 简介

8.8 Jade 简介

九、RDF(三元组数据库,RDF stores)

9.1 Jena 简介

9.2 Algebraix 简介

9.3 RDF4J 简介

9.4 4store 简介

9.5 Redland 简介

9.6 RedStore 简介

9.7 Mulgara 简介

9.8 BrightstarDB 简介

9.9 CubicWeb 简介

9.10 Dydra 简介

十、MVDB(多值数据库,Multivalue DBMS)

10.1 Adabas 简介

10.2 UniData,UniVerse 简介

10.3 jBASE 简介

10.4 Model 204 简介

10.5 D3 简介

10.6 SciDB 简介

10.7 Northgate Reality 简介

10.8 OpenInsight 简介

10.9 Rasdaman 简介

10.10 OpenQM 简介

十一、WCDB(列数据库,Wide Column Store/Column-Family)

11.1 Cassandra 简介

11.2 HBase 简介

11.3 Microsoft Azure Table Storage 简介

11.4 Accumulo 简介

11.5 Google Cloud Bigtable 简介

11.6 ScyllaDB 简介

11.7 Alibaba Cloud Table Store 简介

十二、NXD(XML数据库,Native XML DBMS)

12.1 BaseX 简介

12.2 eXist-db 简介

12.3 Sedna 简介

12.4 webMethods Tamino 简介

十三、CDB(内容仓库,Content stores)

13.1 Jackrabbit 简介

13.2 ModeShape 简介

十四、NDB(导航数据库,Navigational DBMS)

14.1 IMS 简介

14.2 IDMS 简介

十五、EDB(事件仓库,Event Stores)

15.1 EventStore 简介

15.2 NEventStore 简介

十六、参考资料


数据库简史(精简版)
  • 一、RDBMS(关系数据库,Relational DBMS)

  • 数据库 早期史

1961年,GE(通用电气公司,General Electric Company)的Charles Bachman ,开发了IDS(集成数据存储,Integrated Data Store),这是世界上第一个NDBMS(网状数据库管理系统,Network Database Management System),也是第一个数据库管理系统。

1968年, IBM(国际商业机器公司,International Business Machines Corporation)的Vern Watts,开发了IMS(信息管理系统,Information Management System),这是世界上第一个HDBMS(层次数据库管理系统,Hierarchical Database Management System)。

1970年,IBM公司的研究员Edgar  F. Codd(埃德加·科德),发表了论文《大型共享数据库数据的关系模型》(A Relational Model of Data for Large Shared Data Banks)。该论文提出了关系数据模型,奠定了关系模型的理论基础,科德也被誉为“关系数据库之父”。

1974年,IBM公司的San Jose 实验室,启动了System R项目,其目标是论证一个全功能RDBMS的可行性。该项目结束于1979年,它是SQL 语言的第一次实现。

1973年,UCB(加州大学伯克利分校,University of California, Berkeley)的Michael Stonebraker和EugeneWong,利用System R的公开信息,开发了Ingres(交互式图形和检索系统,INteractive Graphics REtrieval System)。该项目结束于1985年,在Ingres 基础上产生了很多商业数据库软件,包括 Sybase、Microsoft SQL Server、NonStop SQL、Informix等。

1976年,Honeywell(霍尼韦尔)公司,开发了MRDS(Multics关系数据存储,Multics Relational Data Store),这是第一个商用关系数据库系统。

1982年,Stonebraker离开伯克立大学,创建了Ingres 公司。

  • 1.1 Oracle 简史

数据库简史(精简版)Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。 劳伦斯·埃里森和他的朋友,之前的同事Bob Miner和Ed Oates在1977年创建了软件开发实验室咨询公司。SDL开发了Oracle软件最初版本。

1977年6月,Larry Ellison(拉里埃里森) 与 Bob Miner、Ed Oates ,在硅谷共同创办了SDL(软件开发实验室,Software Development Laboratories)。

1978年,SDL发布了Oracle 1 版本。

1979年,SDL发布了Oracle 2 版本,这是第一个基于SQL的商业版RDBMS。同年,SDL改名为RSI(关系软件公司,Relational Software Inc)。

1982年,RSI改名为Oracle。

1983年3月,Oracle 3 发布,增加了可移植性。

1984年10月,Oracle 发布,增加了读一致性。

1985年,Oracle 5.0 发布,实现了C/S模式工作。

1986年,Oracle 5.1 发布,支持分布式查询。

1988年,Oracle 发布,引入了行级锁、联机热备份。

1992年6月,Oracle 7 发布,增加了PLSQL存储过程、触发器、分布式事务、基于成本的优化器。

1997年6月,Oracle 发布,支持面向对象、多媒体应用、恢复管理、分区。

1998年9月,Oracle 8i 发布,增加对Internet的支持,8i的i代表Internet–网络。

2001年6月,Oracle 9i 发布,增加了RAC、XML DB、高级队列、数据挖掘、Streams、逻辑Standby。

2003年9月,Oracle 10gR1 发布,增加了网格计算Grid、ASM、Flashback,10g的g代表Grid–网格计算。

2005年7月,Oracle 10gR2 发布,增加了在线索引、高级压缩、DG等功能。

2007年7月11日,Oracle 11gR1 发布,实现了信息生命周期管理(Information Lifecycle Management)等多项创新,引入CDB与PDB、动态DG、Exadata。

2009年11月,Oracle11gR2 发布,增加了混合列压缩、聚合文件系统、OGG数据复制。

2013年6月26日,Oracle 12cR1 发布,增加了云计算Cloud,多租户架构、内存列存储、原生JSON、SQL模式匹配,12c的c代表Cloud–云计算。

2016年11月,Oracle 12cR2 发布,增加了原生Sharding、零数据丢失恢复、Exadata云服务。

2018年2月16日,Oracle 18c 发布,增加了自治性,动态表函数。

  • 1.2 MySQL 简史

数据库简史(精简版)MySQL原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被Sun公司收购。2009年,甲骨文公司收购Sun公司,MySQL成为Oracle旗下产品。

1990年,TcX公司的的客户,要求为报表工具Unireg的API,提供SQL支持。当时的商用数据库速度很难令人满意。于是,Monty决定自己重写一个SQL支持。

1995年,Michael Widenius(Monty), David Axmark and Allan Larsson,在瑞典创立了MySQL AB公司。

1996年,瑞典 MySQL AB 公司发布了MySQL 1.0版本。

1996年10月,MySQL 3.11.1发布。

2001年,MySQL集成Heikki Tuuri的存储引擎InnoDB,这个引擎不仅能持事务处理,并且支持行级锁。

2003年3月,MySQL 4.0 发布,支持查询缓存、集合并、全文索引、InnoDB存储引擎。

2004年10月,MySQL 4.1 发布,增加了子查询,utf8字符集,GROUP BY语句增加了ROLLUP,mysql.user表采用了更好的加密算法。

2005年10月,MySQL 5.0 发布,增加了视图、存储过程、游标、触发器、分布式事务。

2008年1月,MySQL AB公司 被Sun公司以10亿美金收购。

2008年11月,MySQL 5.1 发布,增加了分区、事件管理,以及基于行的复制和基于磁盘的NDB集群系统,同时修复了大量的Bug。

2009年4月20日,Oracle公司以74亿美元收购Sun公司。

2010年12月,MySQL 5.5 发布,增加了半同步复制、信号异常处理、unicode字符集,InnoDB成为默认存储引擎。

2011年4月,MySQL 5.6 发布,增加了GTID复制,支持延时复制、行级复制。

2013年4月,MySQL 5.6 GA 发布,支持在线DDL、并行复制。

2013年2月,MySQL 5.7 发布,支持原生JSON数据类型。

2015年8月,MySQL 5.7 GA 发布,支持原生JSON数据类型。

2016年9月12日,MySQL 8.0.0 发布,速度要比 MySQL 5.7 快 2 倍;增加了SQL窗口函数,公用表表达式,NOWAIT和SKIP LOCKED,降序索引,分组,正则表达式,字符集,成本模型和直方图;JSON扩展语法,新功能,改进排序和部分更新。使用JSON表函数,可以使用JSON数据的SQL机制;GIS地理支持。空间参考系统(SRS),以及SRS感知空间数据类型,空间索引和空间功能。可靠性 DDL语句已变得原子性和崩溃安全,元数据存储在单个事务数据字典中。

2018年4月19日,MySQL 8.0.11 GA 发布,支持NoSQL文档存储、原子的奔溃安全DDL语句、扩展JSON语法,新增JSON表函数,改进排序、分区更新功能。

  • 1.3 Microsoft SQL Server 简史

数据库简史(精简版)Microsoft SQL Server是由美国微软公司所推出的关系数据库解决方案,最新的版本是SQL Server 2017,已在美国时间2017年10月2日发布。 数据库的内置语言原本是采用美国标准局和国际标准组织所定义的SQL语言,但是微软公司对它进行了部分扩充而成为作业用SQL。

1984年,Sybase(system database的缩写)公司成立。

1987年,Sybase推出了本公司首个关系型数据库Sybase SQL Server,这是第一个C/S架构的数据库系统。

1988年,Microsoft、Sybase和Ashton-Tate合作,在Sybase的基础上生产出了在OS/2操作系统上使用的SQL Server 1.0。

1988年,Microsoft、Sybase和Ashton-Tate合作,在Sybase的基础上生产出了在OS/2操作系统上使用的SQL Server 1.0。

1989年,SQL Server 1.0 发布,取得了较大的成功,Microsoft和Ashton-Tate分道扬镳。

1991年,SQL Server 1.11 发布。

1992年,SQL Server 4.2A 发布,由Microsoft和Sybase共同开发。

1993年,SQL Server 4.2B 发布,支持 Windows NT 3.1 操作系统。

1994年,Microsoft和Sybase分道扬镳。

1995年,SQL Server 6.0 发布,由Microsoft自行研发,随后推出的SQL Server 6.5 取得巨大成功。

1996年,SQL Server 6.5 发布。

1998年,SQL Server 7.0 发布,SQL Server 7.0开始进军企业级数据库市场。

2000年,SQL Server 2000 发布,新增了日志传送,索引视图。

2005年11月,SQL Server 2005 发布,新增了分区、数据库镜像、联机索引、数据库快照、复制、故障转移集群、全文搜索。

2008年8月6日,SQL Server 2008 发布,新增了数据压缩、资源调控器、备份压缩、空间数据类型集、层次数据类型、宽数据表、MERGE语句。

2010年4月21日,SQL Server 2008 R2 发布,新增数据中心版,最大支持256核,支持Unicode压缩。

2012年3月6日,SQL Server 2012 发布,新增AlwaysON、Columnstore索引、增强审计功能、支持大数据。

2014年4月1日,SQL Server 2014 发布,新增内存优化表、备份加密、增强AlwaysOn功能、延迟持续性、分区切换、索引生成、列存储索引、缓冲池扩展、增量统计信息。

2016年6月1日,SQL Server 2016 发布,支持JSON,多TempDB数据库文件、全程加密技术、Query Store、支持R语言。

2017年10月2日,SQL Server 2017 发布,支持Linux操作系统,新增可恢复在线索引重建、图数据库功能,支持R、Python的机器学习功能。

  • 1.4 PostgreSQL 简史

数据库简史(精简版)PostgreSQL是自由的对象-关系型数据库服务器,在灵活的BSD许可证下发行。它在其他开放源代码数据库系统,和专有系统之外,为用户又提供了一种选择。

1986年,UCB启动了POSTGRES项目,该项目由Stonebraker教授领导,由DARPA(防务高级研究项目局,Defense Advanced Research Projects Agency)、ARO(陆军研究办公室,the Army Research Office)、NSF(国家科学基金,the National Science Foundation)、 以及 ESL, Inc 共同赞助。同年,Stonebraker发表了“The design of POSTGRES”,“The POSTGRES data model ”,“The design of the POSTGRES rules system”,“The design of the POSTGRES storage system ”等一系列论文,引入对象关系理念,探讨该系统最初的概念、数据模型定义、规则系统设计、存储管理器的理论基础和体系结构。

1989年6月,Postgres 1 发布,Stonebraker发表了“The implementation of POSTGRES ”。

1990年6月,Postgres 2 发布,重写了规则系统。

1991年,Postgres 3 发布,改进了规则系统,增加了对多种存储系统支持的能力,并且改进了查询引擎。

1993年,Postgres 4 发布,用户剧增,并且特性需求急剧增加,随后改项目正式终止。

1994年,UCB的研究生Andrew Yu和Jolly Chen,增加了一个SQL语言解释器来替代早先的基于Ingres的QUEL系统,建立了Postgres95

1996年,该计划被重新命名为PostgreSQL。

1997年1月29日,PostgreSQL 6.0 发布,这是PostgreSQL的第一个正式版本,支持唯一索引、身份认证功能。

1997年6月8日,PostgreSQL 6.1 发布,新增多列索引、序列、货币和时间数据类型,GEQO。

1997年10月2日,PostgreSQL 6.2 发布,增加了JDBC接口、触发器、服务端编程接口、约束。

1998年3月1日,PostgreSQL 6.3 发布,增加了SQL92标准的子查询、PL/pgTCL。

1998年10月30日,PostgreSQL 6.4 发布,增加了可读视图、增强了PL/pgTCL。

1999年6月9日,PostgreSQL 6.5 发布,增加了MVCC、临时表、更多的SQL语句支持。

2000年5月8日,PostgreSQL 7.0 发布,增加了外键、JOIN连接。

2001年4月13日,PostgreSQL 7.1 发布,增加了WAL预写式日志、外连接。

2002年2月4日,PostgreSQL 7.2 发布,增加了PL/Python、国际化消息。

2002年11月27日,PostgreSQL 7.3 发布,增加了模式、表函数、prepared query。

2003年11月17日,PostgreSQL 7.4 发布,优化了JOIN和数据仓库函数。

2005年1月19日,PostgreSQL 8.0 发布,支持Windows平台,增加了savepoints、表空间、时间点恢复。

2005年11月8日,PostgreSQL 8.1 发布,性能优化、增加了两阶段提交、表分区、位图索引扫描、共享行锁、角色。

2006年12月5日,PostgreSQL 8.2 发布,优化性能、增加了在线重建索引、咨询锁、热standby。

2008年2月4日,PostgreSQL 8.3 发布,增加了Heap-only tuples、全文搜索、SQL/XML、枚举类型、UUID类型。

2009年7月1日,PostgreSQL 8.4 发布,增加了窗口函数、列级权限、并行恢复、CTE公用表表达式、递归查询。

2010年9月20日,PostgreSQL 9.0 发布,支持Windows-x64,增加了内置二进制流复制、热备、内置升级功能。

2011年9月12日,PostgreSQL 9.1 发布,增加了同步复制、无日志表、序列快照隔离级别、可写CTE公用表表达式、SELinux集成、扩展、外部表。

2012年9月10日,PostgreSQL 9.2 发布,增加了级联流复制、索引扫描、原生JSON支持、增强锁管理、range类型、空间分区GIST索引。

2013年9月9日,PostgreSQL 9.3 发布,增加了LATERAL JOIN、触发器、视图、可写外部表、物化视图、增强了复制功能。

2014年12月18日,PostgreSQL 9.4 发布,增加了JSONB、RANGE类型、ALTER SYSTEM语法、不阻塞读的刷新物化视图、动态注册/起停后台进程、逻辑API、GIN索引增强、Linux大页支持。

2016年1月7日,PostgreSQL 9.5 发布,增加了UPSERT、CUBE/ROLLUP、GROUPING SETS 语法、行级安全、TABLESAMPLE、新的BRIN索引。

2016年9月29日,PostgreSQL 9.6 发布,支持并行查询,利用sort/join pushdown增强了FDW、多种同步standby、快速清空大表。

2017年10月5日,PostgreSQL 10.5 发布,增加了逻辑复制、声明式表分区、增强并行查询机制。

2018年10月18日,PostgreSQL 11 发布,增强了分区的鲁棒性和性能、存储过程支持事务、增强并行查询能力、增加了表达式的JIT。

  • 1.5 DB2 简史

数据库简史(精简版)IBM DB2企业服务器版本,是美国IBM公司发展的一套关系型数据库管理系统。它主要的运行环境为UNIX、Linux、IBM i、Z/OS,以及Windows服务器版本。DB2也提供性能强大的各称IBM InfoSphere Warehouse版本。

1961年,GE(通用电气公司,General Electric Company)的Charles Bachman ,开发了IDS(集成数据存储,Integrated Data Store),这是世界上第一个NDBMS(网状数据库管理系统,Network Database Management System),也是第一个数据库管理系统。

1968年, IBM(国际商业机器公司,International Business Machines Corporation)的Vern Watts,在 IBM 360 计算机上,开发了IMS(信息管理系统,Information Management System),这是IBM的第一代数据库,所以也称IMS为DB1。IMS是世界上第一个HDBMS(层次数据库管理系统,Hierarchical Database Management System)。

1970年,IBM公司的研究员E. F. Codd(埃德加·科德),发表了论文“A Relational Model of Data for Large Shared Data Banks”。该论文提出了关系模型,奠定了关系模型的理论基础,科德也被誉为“关系数据库之父”。

1974年,IBM的San Jose 实验室,启动了System R 项目,其目标是论证一个全功能RDBMS(关系型数据库管理系统,Relational Database Management System)的可行性。该项目结束于1979年,它是SQL 语言的第一次实现,并为IBM的二代数据库DB2,打下了基础。

1974年,IBM的Don Chamberlin和Ray Boyce,通过 System R 项目的实践,发表了论文”SEQUEL:A Structured English Query Language”,提出了 SEQUEL 语言,此即 SQL 语言的原型。

1975年,IBM的Don Chamberlin 和 Morton Astrahan ,发表了论文“Implementation of Structured English Query Language”,在 SEQUEL 的基础上,阐述了在System R中的SQL实现,这也是 System R 项目得出的重大成果之一。

1975年,IBM的Y. H. Chin,发表了论文“Analysis of VSAM’s free-space behavior”,比较了IBM的VSAM和ISAM,并提出了ISAM文件系统。该文件系统可以连续地(按照他们进入的顺序)或者任意地(根据索引)记录任何访问,每个索引定义了一次不同排列的记录。

1976年,IBM System R 项目组,发表了论文”A System R: Relational Approach to Database Management”,描述了一个关系型数据库的原型。

1976年,IBM 的 Jim Gray,发表了论文“Granularity of Locks and Degreesof Consistency  in a shared  database”,正式定义了数据库事务的概念和数据一致性的机制。

1977年,System R 原型在3个客户处进行了安装,这 3 个客户分别是:波音公 司、Pratt & Whitney 公司和 Upjohn 药业。这标志着 System R 从技术上已经是 一个比较成熟的

来源:暮涵

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月5日
下一篇 2021年8月5日

相关推荐