分享

数据库“简史”戏说 贵圈“真乱”(一)

 q1338 2020-02-29
数据库“简史”戏说 贵圈“真乱”(一)

偶然的听一个讲授数据库设计的课里面的一段话,让我有想法写写这个,可能大概率会漏洞百出,大家就当周五的清晨轻松一下。人生呀,你不知道你会碰上什么,算计了半天,都的听老天爷的,看看下面的故事你就能理解了。

故事的从 Michael Stonebraker 这个人说起,这个人串联了从数据诞生到现在的故事,IBM在1973年启动了一个项目名字叫system R ,这个项目主要的两个研究人员,Michael Stonebraker 和 Eugene Wong 通过这个项目的研究中自己产出了另一个项目,一个关于关系型数据库的项目。

随后1974年 Michael Stonebraker At the University of California at Berkeley 研究出世界上第一个关系型数据库 INGRES. 在70年代的数据库基本只有一个目标,就是更好的为业务服务,这就是当时关系型数据库主要的设计目标。同时 INGRES 也是当前 PostgreSQL的前身项目。

于此同时在1974年,IBM的 SYSTEM R 项目也诞生了system R 也是当时的关系型数据库,并且在1977年 SYSTEM R 系统迎来了第一个客户。

于此同时1977年,Larry Ellison 和他的两个合伙人以及一个员工四人成立了一个叫软件开发研究室的公司,这也是ORACLE公司的前身,而Larry和他的合伙人成立这个软件公司的的想法也是起源于看到 system R 系统的当时的研究文档。而system R 系统就是 IBM DB2 数据库的老祖宗。

所以到目前1970S 这个年代,DB2, ORACLE , POSTGRES 三个数据库的原型都已经存在了,并且都是根据一项研究而产出的,这三者都与IBM 公司有着或近或远的关系。

数据库“简史”戏说 贵圈“真乱”(一)

而在1970S 另一个伟大的发明就是 SQL, IBM 在1974年研究出Structured Query Language 语言来配合自己的数据库系统。

数据库“简史”戏说 贵圈“真乱”(一)

时间荏苒匆匆而过,时间来到了1980S, 和IBM的system R 系统不一样,INGRES走的是社区和学院派开发的风格,这时的ORACLE,对外发售产品,并且ORACLE 和 INGRES 之间的斗争在1980S 的中期结束,以INGRES 的失败告终,主要的原因是ORACLE 使用了和当时 SYSTEM R 一样的语言 SQL 作为使用数据库的标准语言,而INGRES 使用了自己开发的QUEL 语言。

数据库“简史”戏说 贵圈“真乱”(一)

1980S 同时期参与INGRES项目的 Robert Epstein与参与项目研究的其他的学生,创立了Sybase, 并且在 1980S - 1990S 的也开始发售产品,并且也和ORACLE产品也进行了市场争夺,但经常屈居第二。

这期间ORACLE 在1982年以其旗舰产品命名为甲骨文(Oracle),在整个80年代迅速发展,1986年上市。1987年,甲骨文成为世界上最大的数据库管理软件公司,其增长在很大程度上是通过积极收购软件公司实现的。

数据库“简史”戏说 贵圈“真乱”(一)

同时1980S Founders Roger Sippl and Laura King 也不甘寂寞,从从事S-100/CP/M 公司离职,这家公司也是做相关小型关系型数据库的公司,他们离职后,创建了他们自己的数据库产品和公司,INFORMIX。

这个时期,IBM的system R 也被 INGRES 搞得衰败,主要还是费用,IBM 运行在IBM的大型机,INGRES 运行在UNIX 机器上,并且以BSD 方式收取少量的费用

数据库“简史”戏说 贵圈“真乱”(一)

所以1980S 是数据库井喷的一个时代,丝毫不比现在的情形有什么分别,ORACLE , INGRES,INFORMIX , SYBASE ,SYSTEM R 等多种数据库都是在这10年里面,消亡,兴盛,开始,和延续的。

而在 1989年 1980S 的最后一年, SQL SERVER 诞生了,不过说是诞生,其实就是SYBASE的 COPY ,

所以截止到 1990年,前夕,数据库界又进入了一个新的成员,SQL SERVER。版本为 SQL SERVER 1.0

数据库“简史”戏说 贵圈“真乱”(一)

到这里我们捋一捋数据库之间的“亲戚关系”,system R 是IBM 花钱成立研究室通过Michael Stonebraker 及其他人员在大学里面搞的一个研究的论文的产品,而Michael Stonebraker 自己也高了一套数据库INGRES, 而ORACLE 是看了 SYSTEM R 系统的设计思路后的产品,于此同时 SYSTEM R研究室的一些人出来搞了一个产品SYBASE 并借鉴了 INGRES ,后来SQL SERVER 作为SYBASE的 COPY 赶在1980S的最后一年上市了,以上的数据库其实在当时可以看做是近亲繁殖。这里唯一个和他们没有关系的就是 INFORMIX。

数据库“简史”戏说 贵圈“真乱”(一)

在1985 年Michael Stonebraker 在搞商业失败后,又回到大学,开始继续研究数据库及相关的理论,并且开始了一个叫post-ingres 的项目,这就是POSTGRESQL 的前身。

时间又到了 1990S, INGRES 成立了公司,并且不少公司都用这套源代码开发相关的商业系统,IBM发现自身的一些问题从1984年后开始了DB2发展(当时不叫这个名字),1990年 DB2 正式向世界范围推广,ORACLE 继续的滋润的经营此时版本已经到了7.0,此时1990S 有一个新的数据库诞生到这个世界,MYSQL 1995年诞生在瑞典,公司的名字就叫MYSQL AB(AB的意思是股份制),而1995年POSTGRESQL 95 也开始向外发布,所以1995年是数据库值得纪念的一年,MYSQL VS PostgreSQL 在这一年算是一个元年。

数据库“简史”戏说 贵圈“真乱”(一)

这一年 SQL SERVER 也已经走到了6.0,ORACLE 走到 7.2 这个版本,Sybase 已经发布到 10版本,并且 Sybase发布了PowerDesigner,这是一个建模和元数据管理解决方案。

但到了1996年 INFORMIX 就不大顺利了,首席架构师Gary Kelley突然辞职,并在1997年初加入了主要竞争对手Oracle公司,并带走了11名开发人员。

数据库“简史”戏说 贵圈“真乱”(一)

时间继续推移,到达了2000S ,2005年MYSQL 的版本到达了5.1,ORACLE 数据库到达了 10G 这个版本, SQL SERVER 也彻底的和SYBASE 说再见,SQL SERVER 2005 诞生了,(看来和5 有关的年份都有大事),Sybase 发布了 ASE 15.0。

1996,1997年对INFORMIX 不算是好光景,但1996 -1997 POSTGRESQL 正式开源,并有开发志愿者加入,此时的版本是 POSTGRESQL 6.0.

而世界并没有消停,时间到了 2005 年,ORACLE 对MYSQL 是垂涎欲滴,经过2次购买失败后(谣传),在2005年,ORACLE将MYSQL 重要的数据库引擎公司购买并开始了扼杀之旅,INNODB引擎的提供商 Innobase Oy,是位于芬兰的一家公司,之前这家公司也是做数据库产品但一直不成功,所以将INNODB 数据库引擎,作为插件供给给MYSQL 使用,当时的MYSQL 的主流操作引擎是MYISAM 和 INNODB ,很明显INNODB 作为数据库操作引擎要比 MYSIAM 要成熟的多。

而那时对于使用MYSQL 的人来说,有一阵子恐慌,MYSQL 很长一段时间无法进行版本更新,主要原因即使ORACLE 在数据库引擎INNODB 上具有拥有权。期间有一些分析,因为当时的MYSQL 的流行程度 + INNODB (在当时来讲INNODB 的数据库引擎并不比当时ORACLE的数据库引擎要差,甚至有部分的先进性)。所以.......

最终MYSQL 还是从SUN 公司的手里交到了ORACLE 的手里。MYSQL 从5.1到 5.5 这个版本,由于某些原因更新很慢,经历了5个年头,而在SUN 将MYSQL 交给 ORACLE后,MYSQL 的开发速度越来越快,2013年就发布了 5.6 ,2015年就发布了5.7 , 所以任何事情都有好的方面和不好的方面,没有了自由,但开发的速度变快也是一件好事。

而在2007年,另一类数据库NOSQL的代表者,MONGODB 的公司 10GEN成立了,2013年10gen 改名为 MONGODB

同时期,ORACLE 终于在 2007 更新到了 11G 这个版本, 2010年SAP 购买了 SYBASE,2012年在领导Sybase 15年的CEO兼总裁John S. Chen在Sybase完成与SAP的整合后离开了Sybase。2010年11月,Garnett & Helfrich Capital收购了英格丽斯公司(Ingres Corp)剩余的20%股权,INGRES 也逐渐消在时间的长河。

而曾经的SYBASE的双胞胎,SQL SERVER 在2012年发布了 SQL SERVER 2012 ,SQL SERVER 在 2012 这个版本开始着重侵入到BI的领域其中的 SSIS ,SSRS, SSAS 等于SQL SERVER 数据库一起搭配的服务在当时为大部分中小型企业快速搭建BI 平台以及数据的分析,展示,提供了优于 ORACLE 的产品线。

而此时的ORACLE 11G 这个版本从 2007 到 2012没有被更新,仅仅是发布了RELEASE 2,而在2013年,后ORACLE 明显意识到产品的更新缓慢(这是有原因的,参见网络吐槽的2500百万行代码),在短短的 6年 ORACLE 已经走到了19C , 同时 SQL SERVER 也不甘示弱,也走到 SQL SERVER 2019 ,期间还发布了 SQL SERVER 2014 2016 2017 ,但由于发布的版本频繁,实际当中更新换代的并不多,常用的版本大致 2008 ,2012 2016 等几个版本。

2019年 DB2 也发布了 11.5 并添加了人工智能的特殊功能。

MYSQL 在归入ORACLE 旗下后,开始分为企业版和免费社区版,当然这个两个版本是有区别的,在支持的硬件层面以及monitor一体化,备份等都有区别,企业版的MYSQL 是赋予一整套性能分析,监控,热备,多线程等高级功能的MYSQL,但使用的人比较少。目前,MYSQL 最新的版本是 8.018,而大部分企业使用的MYSQL 大多还是在 5.6 ,5.7(版本是最多的),部分公司由于某些原因,不使用免费版本的官版的MYSQL ,而是使用 Percona,或Maria DB,作为替换免费版MYSQL的版本使用 for freedom。

而POSTGRESQL 在从1997年后的6.0 ,目前已经发展到了POSTGRESQL 12 这个版本,其主要爆发式增长是从2010年开始,在2010年前,POSTGRESQL 还不支持例如约束,和表继承等功能,但在从2016年开始,基本一年更新一个版本,并且目前有 EDB ,二象限,citus(微软收购) 等公司的支持,已经成为目前最炙手可热的数据库之一。并被阿里 ,华为和腾讯等公司选作为部分自研数据库的原型。目前市面使用比较多大多是基于 PG 9.X 的版本。

数据库“简史”戏说 贵圈“真乱”(一)

同时MONGODB 也从3.0后,开始快速式的增长,从3.6这个版本修改了部分之前版本的一些设计上的“小瑕疵”,逐渐走向成熟,目前已经从4.0开始开启了NOSQL 事务化的支持(非传统数据库的事务含义),目前最新的版本为4.2

Michael Stonebraker 在2014年获得了图灵奖,主要是在数据库理论和业界的贡献,其中包含b -树的使用、 数据复制、视图和完整性约束的查询重写方法,以及RDBMS中用于完整性检查的规则/触发器的思想。

如果有一句话说,贵圈真乱,那数据库的圈子,它真不属于安分的。

数据库“简史”戏说 贵圈“真乱”(一)

待...... (二)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多