数据库版本历史的总结-非信创部分

发布时间 2023-12-17 17:28:01作者: 济南小老虎

数据库版本历史的总结-非信创部分


Oracle

Oracle数据库是最悠久的 关系型数据库. 
诞生于美国军方的管理项目

他的第一个版本是Oracle2 
上世纪八九十年代的Oracle8和Oracle9 是非常成功的版本. 

进入21世纪后 Oracle发布了 三个大版本
Oracle10g oracle11g oracle12c (Oracle9 其实也是2001年发布的)

Oracle的大版本每次都会带来巨大的功能/性能提升.
现在变的更加易用了, DBA的很多工作都被数据库自动处理了. 
Oracle10g 2003年
oracle11g 2007年
Oracle12c 2013年
Oracle19c 2019年

MySQL

MySQL是从 的发展比 Oracle和SQLServer都要晚.

1996 年 MySQL 1.0 发布。它的历史可以追溯到1979 年,作者Monty 用BASIC 设计的一个报表工具。
1996 年10 月 3.11.1 发布。MySQL 没有2.x 版本
2000 年 ISAM 升级成MyISAM 引擎。MySQL 开源。
2003 年 MySQL 4.0 发布,集成InnoDB 存储引擎
2005 年 MySQL 5.0 版本发布,提供了视图、存储过程等功能。
2008 年 MySQL AB 公司被Sun公司以十亿美元收购,进入Sun MySQL 时代。
2009 年 Oracle74亿美元收购Sun 公司进入Oracle MySQL 时代。
2010 年 MySQL 5.5 发布,InnoDB 成为默认的存储引擎。
2013 年 MySQL 5.6 发布, 提供了全文搜索索引,增强了优化器
2015 年 MySQL 5.7 发布, 安全性增强,改善了复制性能,支持JSON等.
2018 年 MySQL 8.0 发布, 支持窗口函数,公共表表达式. 对unicode的支持更加完善.
2023 年 MySQL 改进了发布策略, 后续mysql 8.0.x 只修改bug, mysql 8.1 称之为创新版本, 大概 MySQL8.4才成为LTS版本
        大概2024年 MySQL 8.4 会成为LTS版本发布, 然后创新半年改为 MySQL 9.1 创新版

MySQL 在互联网兴起的这些年蓬勃发展, 他很适合CRUD的简单处理
对复杂的关联处理性能一直比较差. 

但是因为培养了非常大的一批忠实的用户, 现在发展的很好
也有很大一笔像是 TiDB OceanBase 等兼容MySQL协议的数据库产品. 

MySQL其实能力与Oracle有着巨大的差距.  其实理论上去IOE 应该也将MySQL一起排除.但是因为种种原因一直没有成型. 

SQLServer

SQLServer 是微软和 Sysbase 合作开发的一套数据库系统. 
微软的第一款产品其实是 BASIC的编译器, 
但是微软发家其实是给IBM的PC兼容机器开发系统, 当时他的OS/2 也是购买别人成型的系统又修改. 

微软的核心产品, Windows,Office,SQLServer 其实都是并购来的, 比尔盖茨不是一个单纯的程序员, 其实更是一个商业天才.

SQLServer 1.0 发布于1989年
后续 微软和SysBASE合作开发了 SQLServer 4.x 的版本
SQLServer 4.x 的版本大体发布于 1993-1994年.
当年微软正在依赖从DEC挖来的大卫卡特勒研发新一代的WindowsNT系统. 

因为微软的Windows first 策略, 微软于SysBASE的矛盾越来越大. 最终两者分道扬镳. 

微软获得了几乎全套的SQLServer 代码权限和销售权限, 主要是用于Windows平台上面的开发
SQLServer 6.x 发布于1995年
SQLServer 7.x 发布于1998年

进入21世纪, 微软改变了自己的命令策略. 
Windows 也发布了 Windows2000. SQLServer 也发布了SQLServer2000的版本
SQLServer2000 发布于2000年,但是内部版本号是 8.x
SQLServer2005 发布于2005年,但是内部版本号是 9.x
SQLServer2008 发布于2008年,但是内部版本号是 10.x
SQLServer2008R2 发布于2010年,但是内部版本号是 10.50
SQLServer2012 发布于2012年,但是内部版本号是 11.x
SQLServer2014 发布于2014年,但是内部版本号是 12.x
SQLServer2016 发布于2016年,但是内部版本号是 13.x
SQLServer2017 发布于2017年,但是内部版本号是 14.x
SQLServer2019 发布于2019年,但是内部版本号是 15.x
SQLServer2022 发布于2022年,但是内部版本号是 16.x

这里需要注意: 
SQLServer 2017的发布非常短, 同年开始支持 Linux系统. 
SQLServer 2019 发布时进一步在linux平台上面支持了 分布式事务.

一般来说 SQLServer 从 2008r2的版本开始有了和Oracle掰一掰手腕的能力
但是当时世界已经不是RDBMS OLTP的天下了. 

PostgreSQL

MySQL号称是世界上最流行的开源数据库
PostgreSQL数据库号称是世界上最先进的数据库. 

PostgreSQL数据库的起源其实是 Ingress 数据库

Ingress 是在1973年由加州伯克利大学开发的一套数据库. 
他引导了很多数据库的发展, 像是informix 还有 sysbase都是直接间接受到Ingress的影响. 

1988年基于Ingress 又发布了 Postgres 
然后逐步发布了 1.0-4.x的版本

1994年基于Postgres 4.2 发布了 PostgreSQL数据库. 
发布版本逐渐快了起来. 

国际国内很多数据库都是基于或者是受到了PostgreSQL数据库的影响: 
亚马逊Redshift、Greenplum、腾讯Tbase、华为GaussDB、瀚高数据库等
人大金仓数据库很多地方也是参照了 PostgreSQL数据库

1. Postgres(1989年)
    关键变化: 支持对象关系数据模型,第一次引入了一种名为Quel的查询语言。
2. Postgres95(1995年)
    关键变化: 添加了SQL语言支持,提高了性能。
3. PostgreSQL 6.0(1997年)
    关键变化: 官方更名为PostgreSQL,支持多线程,首次引入了面向对象特性。
4. PostgreSQL 6.0(1997年)
    关键变化: 支持多线程,第一次引入了面向对象特性。
5. PostgreSQL 6.5(1999年)
    关键变化: 引入了事务、触发器、规则和PL/Tcl存储过程语言支持。
6. PostgreSQL 7.0(2000年)
    关键变化: 提供了Write-Ahead Logging(WAL)和全文索引功能。
7. PostgreSQL 7.1(2001年)
    关键变化: 引入了并发控制机制,改进了查询优化器。
8. PostgreSQL 7.4(2003年)
    关键变化: 新增了表分区支持,增强了统计信息的收集。
9. PostgreSQL 8.0(2005年)
    关键变化: 增加了Windows平台支持,加入了Point-in-time recovery功能。
10. PostgreSQL 8.1(2005年)
    关键变化: 添加了角色管理和表空间支持。
11. PostgreSQL 8.3(2008年)
    关键变化: 增加了Heap-Only Tuples(HOT)和UUID类型支持。
12. PostgreSQL 9.0(2010年)
    关键变化: 增加了流复制和匿名块支持。
13. PostgreSQL 9.6(2016年)
    关键变化: 增加了并行查询支持。
14. PostgreSQL 10(2017年)
    关键变化: 引入了逻辑复制和表分区改进。
15. PostgreSQL 11(2018年)
    关键变化: 改进了并行处理和分区表。
16. PostgreSQL 12(2019年)
    关键变化: 增加了Generated Columns和表达式索引。
17. PostgreSQL 13(2020年)
    关键变化: 提供了增强的索引和分区功能,改进了并行处理效率。
17. PostgreSQL 14(2021年)
17. PostgreSQL 15(2022年)
17. PostgreSQL 15(2023年)

可以看到从PG10开始 数据库进入快车道 一年一个版本的发布. 

PG数据库的发展其实很快.