正德厚生,臻于至善

MySQL数据库的发展历程

MySQL的起源:

  MySQL数据库的历史可以追溯到1979年,那时Bill Gates退学没多久,微软公司也才刚刚起步,而Larry Ellison的Oracle公司也才成立不久。那个时候有一个天才程序员Monty Widenius为一个名为TcX的小公司打工,并且用BASIC设计了一个报表工具,使其可以在4MHz主频和16KB内存的计算机上运行。没过多久,Monty又将此工具用C语言进行了重新编写并移植到了UNIX平台上。当时,这只是一个很底层且仅面向报表的存储引擎,名叫UNIREG。最初的UNIREG是运行在瑞典人制造的ABC800计算机上的。ABC800的内存只有32KB,CPU是频率只有4MHz的Z80。在1983年Monty Widenius遇到了David Axmark,两人相见恨晚,开始合作运营TcX,Monty Widenius负责技术,David Axmark负责搞管理。后来TcX将UNIREG移植到其他更加强大的硬件平台,主要是Sun的平台。虽然TcX这个小公司资源有限,但Monty Widenius天赋极高,面对资源有限的不利条件,反而更能发挥他的潜能。Monty Widenius总是力图写出最高效的代码,并因此养成了习惯。与Monty Widenius在一起的还有一些别的同事,很少有人能坚持把那些代码持续写到20年后,而Monty Widenius却做到了。

1990年,一次Monty接到了一个项目,客户需要为当时的UNIREG提供更加通用的SQL接口,当时有人提议直接使用商用数据库,但是Monty Widenius觉得商用数据库的速度难以令人满意。于是Monty Widenius找到了David Hughes(mSQL的发明人)商讨合作事宜。想借助于mSQL的代码,将它集成到自己的存储引擎中。然而令人失望的是,在经过一番测试后,他们发现mSQL的速度并不尽如人意,无法满足客户的需求。于是Monty Widenius雄心大起,决心自己重写一个SQL支持。从此MySQL就开始诞生了。

MySQL命名的由来:Monty Widenius有一个女儿,名叫My Widenius,因此他将自己开发的数据库命名为MySQL。Monty还有一个儿子,名为Max,因此在2003年,SAP公司与MySQL公司建立合作伙伴关系后,Monty  Widenius又将与SAP合作开发的数据库命名为MaxDB。而现在的MariaDB中的Maria便是Monty Widenius的小孙女的名字。

(MaxDB:MaxDB是一种企业级数据库管理系统(DBMS),以前称为SAPDB,是著名的企业管理软件供应商SAP公司的自有数据库技术,并由SAP公司开发和支持。2003年,SAP AG和MySQL AB确立了合作伙伴关系,并将数据库系统重命名为MaxDB。自此以后,MaxDB的开发一直由SAP开发者团队负责,MaxDB是能够承受高负载的开源数据库,它适合于OLAP和OLTP应用,并能提供高可靠性、可用性、扩展性和非常完善的特性集。)

(MariaDB:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。)

(MySQL的小海豚标志名叫:sakila(塞拉),它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供的。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字)

MySQL的历史:

1995年5月23日,MySQL的第一个内部版本发行了。

1996年10月,MySQL 3.11.1发布(MySQL没有2.x版本),有趣的是,第一个MySQL正式版恰巧只能运行在Sun Solaris上,仿佛昭示了它日后被Sun收购的命运。一个月后,Linux版本出现了。在接下来的两年里,MySQL被依次移植到各个平台,同时加入了不少新的特性。在发布时,MySQL数据库采用的许可策略有些与众不同:允许免费使用,但是不能将MySQL与自己的产品绑定在一起发布。如果想一起发布,就必须使用特殊许可,意味着要花“银子”。当然,商业支持也是需要花“银子”的。其他方面,随用户怎么用都可以。这种特殊许可为MySQL带来了一些收入,从而为它的持续发展打下了良好的基础。

1998年1月,MySQL关系型数据库发行了第一个版本。它使用系统核心的多线程机制提供完全的多线程运行模式,并提供了面向C、C++、Eiffel、Java、Perl、PHP、Python及Tcl等编程语言的编程接口(API),且支持多种字段类型,并且提供了完整的操作符支持。而且MySQL已经能够运行在10多种操作系统之上,其中包括应用非常广泛的 FreeBSD、Linux、Windows 95和Windows NT等。很快MySQL 3.22也发布了,但它仍然存在很多问题–如不支持事务操作、子查询、外键、存储过程和视图等功能。正因为这些缺陷,当时许多Oracle和SQL Server的用户对MySQL根本不屑一顾。

1999-2000年,MySQL AB公司在瑞典成立。Monty Widenius雇了几个人与Sleepycat合作,开发出了Berkeley DB引擎, 因为BDB支持事务处理,从此MySQL开始支持事务处理了。

2000年4月,MySQL对旧的存储引擎ISAM进行了整理,将其命名为MyISAM。

2001年,Heikki Tuuri向MySQL提出建议,希望能集成他的存储引擎InnoDB,这个引擎同样支持事务处理,还支持行级锁。该引擎之后被证明是最为成功的MySQL事务存储引擎。

2003年12月,MySQL 5.0版本发布,提供了视图、存储过程等功能。

2008年1月,MySQL AB公司被Sun公司以10亿美金收购,MySQL数据库进入Sun时代。在Sun时代,Sun公司对其进行了大量的推广、优化、Bug修复等工作。

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

2009年4月20日,Oracle公司以74亿美元收购Sun公司,自此MySQL数据库进入Oracle时代,而其第三方的存储引擎InnoDB早在2005年就被Oracle公司收购。

2010年12月,MySQL 5.5发布,其主要新特性包括半同步的复制及对SIGNAL/RESIGNAL的异常处理功能的支持,最重要的是InnoDB存储引擎终于变为当前MySQL的默认存储引擎。MySQL 5.5不是时隔两年后的一次简单的版本更新,而是加强了MySQL各个方面在企业级的特性。Oracle公司同时也承诺MySQL 5.5和未来版本仍是采用GPL授权的开源产品。

2013年2月,MySQL5.6发布。Oracle最近宣布将于2021年2月停止5.6版本的更新,结束其生命周期。

2015年12月,MySQL5.7发布,其性能、新特性、性能分析带来了质的改变。

2016年9月,MySQL开始了8.0版本,Oracle宣称该版本速度是5.7的两倍,性能更好。

2018年4月,MySQL8.0.11发布。

目前,MySQL已更新到8.0.21版本,但市场主流都还是使用的5.5/5.6/5.7版本。

赞(0) 打赏
未经允许不得转载:徐万新之路 » MySQL数据库的发展历程
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏