芬兰程序员Monty有三个孩子,分别叫做My, Maria, Max。

这三个孩子非常幸运,因为他们的父亲把他们的名字永远地“刻”在了三个数据库产品之上:

MySQL

MaxDB

MariaDB

这位父亲就是MySQL的主要作者Michael Widenius,大家经常叫他Monty。

今天我们来聊一聊为什么是Monty创建了MySQL,MySQL又是怎么发展成为世界上最流行的开源数据库的。

01

编程达人

Monty1962年出生于芬兰的赫尔辛基, 1978年,16岁的他发现了一件高科技产品:ABC80计算机。

这个计算机的CPU只有4M Hz, 内存只有8K ,但是对于只玩过可编程计算器的Monty来说, 这才是真正的计算机。

于是Monty 找了一个“勤工俭学”的活儿:在赫尔辛基的街道上铺沥青, 虽然赚来了一笔钱,但还是不够,Monty老爸又出了一半的钱,这才成功地把ABC80抱回了家。

从此,Monty 整天和这台计算机“厮混”在一起。

Monty是个不折不扣的编程天才,对别人来说非常难的东西,他都能轻松搞定,编程对于他来说,就像读一本有趣的小说,或者玩一个游戏,不知不觉几个小时就过去了。

由于ABC80上没有多少软件,Monty小试牛刀, 用汇编语言把把游戏机上的一些热门游戏在这个机器上实现了!

(太空入侵者)

(Pacman)

可见游戏有着多么强大的驱动力!

两年以后,Monty又把ABC80升级成了 ABC800,此时的Monty已经不满足当一个游戏Boy了,开始在上面开发真正的软件了,比如:

字处理器

硬盘控制器

磁带备份

......

在一次演讲中,Monty说到:那真是美好的旧时光, 你想使用计算机的话,得从底层学习计算机硬件和软件的方方面面,对于现代的程序员来说,没有这样的机会了。

02

“桃园三结义”

由于ABC 电脑是瑞典制造的,很多配件只有瑞典才有,Monty经常乘船去瑞典买配件,有一次去买内存的时候,Monty结识了Allan Larsson。

Allan开着一个电脑商店,有一家叫做TcX的咨询公司,Monty逐渐和他变得熟络起来。

得知Monty是个编程天才以后,Allan给了他一个数据库程序,请他基于这个数据库为客户开发一个软件出来。

Monty把数据库程序拿来一看就发现,这程序写得太烂,难以理解,难以维护, 既然如此,还不如重写一个。

大牛就是这么任性。

Monty写的数据库程序叫做Unireg,最初用Basic在ABC800 编写,到了1983年,Monty又用C语言重写了一遍, 这样就可以运行在一个有着2M内存的强大机器上。

这就是Unireg的界面,纯文本,有点像打印机的格式。 虽然有点丑,但可以轻松地创建,更新数据库的数据,并且产生报表。

Monty和Allan都不会想到,这个看起来很简陋的数据库将来会一飞冲天,变成软件世界的中流砥柱:MySQL!

有了数据库,Allan拉来了更多的活儿,Monty作为TcX唯一的开发人员,不仅开发客户的应用程序,还花费了大量的时间来完善Unireg。

1985年, Monty和Allan干脆合伙开了一个叫TCX DataKonsult AB ,专注数据仓库领域, Monty把Unireg移植到了更强大的Sun工作站上,以便能处理更大规模的数据。

有多大规模呢?大概是每月百万行的数据。

可见这个时候的Unireg数据库,已经相当不错, 能处理大数据了!

在此期间, Monty又认识了David Axmark, 两人相见恨晚,经常在一起讨论技术问题,打电话到深夜。

David是一个自由软件的铁杆粉丝,他将来会对MySQL 的开源模型,盈利模式产生重大的影响。

Monty , David, Allan这三个人如同“桃园三结义”的兄弟,从此以后,他们将联手开启一段新历史。

03

MySQL问世

不知道Monty和Allan 用Unireg赚了多少钱,TcX这个小小的公司应该活得比较滋润。

如果就这么发展下去,估计MySQL就不会诞生了。

90年代中后期, 蓬勃发展的互联网将给Monty他们带来一个前所未有的挑战,当然也带来了前所未有的机遇。

1994年,客户希望TcX开始基于Unireg开发Web的应用,不幸的是,Unireg这个桌面软件的设计缺点暴漏出来了:不支持SQL,没法和Web页面有效集成。

要么固守桌面软件,慢慢落后于时代,要么主动拥抱Web,Monty和TcX走到了一个十字路口。

这时候Monty 发现了开源的miniSQL (简称mSQL), Monty研究了一番后发现,mSQL最要命的问题是不支持索引,性能很差。

Monty联系mSQL的作者,问他能不能修改mSQL来使用Unireg的索引,mSQL的作者忙着开发mSQL 2.0,已经设计好了索引方案,就拒绝了。

自己动手,丰衣足食,Monty决心实现自己的数据库。

一年以后, 1995年1月,支持SQL接口,索引,有着C/S架构的MySQL 1.0 问世了。

狂热的开源软件爱好者David立刻找到Monty和Allan,给他俩施压,希望MySQL可以开源。

可是开源以后,大家都能用了,怎么赚钱呢?

David想了一个绝妙的注意:双重许可

客户可以以开源的方式使用MySQL,不需要付费。

但是,如果客户在自己的产品中使用了MySQL,还想通过闭源的方式来销售自己的产品,那对不起,需要付费购买商业许可。

这样,既能扩大软件的使用用户,收入还不至于颗粒无收。

04

15分钟 和 3万封邮件

MySQL是幸运的,它踏上了互联网的风口:Web网站如雨后春笋般出现,每个网站都需要一个免费的数据库,MySQL正好填补了这个空白

当时建站的主要语言是PHP,Perl , 这些程序员也对MySQL做了大量宣传:简单、易用、高性能。

Monty和David设定了一个目标:让用户在下载完MySQL以后,15分钟内就能运行起来, 在现在RPM, DEB等安装包大行其道的时代,15分钟听起来非常漫长, 但是在1996年,通常需要从源代码安装,一点点小问题,就会花费数小时。

为了这15分钟,Monty他们付出了辛苦的努力,需要模拟用户在8~10个操作系统上编译,安装MySQL的不同版本。

Monty 对用户非常负责, 他在MySQL问世前5年的时间里,回复了30000多封邮件,来解决大家的疑问。

David 也没有闲着,马不停蹄地参加各种会议,到处宣传MySQL, 他在飞机上度过的时间超越了在家的时间。

免费的MySQL逐渐成为建站的第一选择。加上Apache和Linux, 形成了著名的LAMP。

05

5000万美元

到了1999年,MySQL已经被一些人注意到了, 并且开出了5000万美元的高价想把MySQL买下。

如果是目光短浅的我,十有八九就卖了,多么诱人的报价,卖了以后就财务自由了!

但是Monty他们有着更大的愿景:做点儿事情,改变世界。

他们不想就此失去对公司的控制,于是他们拒绝了这次收购。

随着时间推移,MySQL越长越大, 公司从3个人发展到了15个人, 客户越来越多,需要的功能也水涨船高。MySQL公司需要更多人手去做技术支持、编写文档、销售。

市场上也出现了像PostgresSQL这样的竞争对手, 如果再不引入投资,靠之前的收入缓慢增长,MySQL迟早会被飞速发展的时代干掉。

2001 年 Mårten Mickos 被聘为MySQL CEO, 专门和投资者谈,最后从风险投资那里获得了400万欧元的A轮融资, 仅仅出让了10%的股权, 控制权依然在Monty他们手中。

MySQL从此进入了发展的快车道,到2003年,仅两年的时间,MySQL的安装数就翻了一番,达到400万, 成为了全世界最受欢迎的开源数据库。

这一年,MySQL又获得了1950万美元的B轮融资。

06

和Oracle的暗战

Oracle是数据库领域的绝对老大, 统治着企业级数据库市场, 但是在Web领域却干不过免费、开源的MySQL。

Google, Facebook, Snapchat, Quora, Dropbox ,Youtube , Twitter 等IT巨头都不使用Oracle,他们不约而同地选择了MySQL, 因为不用给Oracle交巨额的License费用,还可以修改源代码适合自己的场景。

更要命的是, MySQL正在从Web领域杀下企业级市场,很多重量级客户从Oracle 转向免费的MySQL,这给Oracle带来了巨大的威胁。

2006年, Oracle 试图收购MySQL,但是没有成功。

Larry Ellison狂妄地说:

它(MySQL)只是一家小小的公司,年收入也就三四千万吧, 而我们Oracle的收入是150亿!

我们只收购那些有商业价值的公司,MySQL并不在我们收购的列表中。

话虽这么说, Oracle 却在不断地挖MySQL的墙角。

2005年, Oracle收购了一个叫做innobase的芬兰公司,正是这家公司给MySQL提供了支持事务处理的InnoDB 引擎。

过了一年,Oracle又收购了Sleepycat,这家公司给MySQL提供了Berkeley DB事务引擎。

07

并购

2008年, 年收入达到7500万美元的MySQL面临一个抉择:究竟是上市呢?还是卖个好价钱?

Mårten Mickos, Monty, David等人经过一番讨论以后,他们选择了Sun,这是因为:

1. Sun是一家技术导向的公司

2. Sun是开源运动的推动者,没有把MySQL变成闭源软件的风险。

2008年1月,MySQL以10亿美元卖给了Sun,Monty也凭借这笔收入成为这一年芬兰的10大富豪之一。

可是人算不如天算, 让人苦笑不得的是,仅仅一年以后,Sun居然又被Oracle给收购了!

MySQL最终还是没有逃脱Oracle的手掌心。

MySQL的前景一下子黯淡下来,Monty说道:

“很多核心的MySQL开发者,包括我自己,都不相信Oracle能善待MySQL,我们要确保MySQL的代码完全开源,永远开源。”

2009年,作为对Oracle收购Sun的回应, Monty立刻创建了一个MySQL的分支:MariaDB, 它和MySQL兼容,并且完全开源,一大批核心开发人员追随Monty,离开MySQL,加入MariaDB。

2009年Monty已经47岁了, 和MySQL说了再见,他踏上了新的征程。

2020年,Monty已经58岁了,依然在一线奋战。

传奇将会继续......

(完)

参考资料:

https://en.wikipedia.org/wiki/Michael_Widenius

https://mariadb.org/wp-content/uploads/2019/11/MySQL-MariaDB-story.pdf

https://www.youtube.com/watch?v=Zh56R49y1PQ

https://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch02.pdf

https://www.cs.ait.ac.th/laboratory/database/manual/manual_Unireg.shtml

https://dri.es/the-history-of-mysql-ab

http://www.odbms.org/blog/2011/09/mariadb-the-new-mysql-interview-with-michael-monty-widenius/

http://www.odbms.org/blog/2011/09/mariadb-the-new-mysql-interview-with-michael-monty-widenius/

再见,外包!

漫画:人到中年,一地鸡毛

漫画:在中国,程序媛有多难?

漫画:兄弟,今晚又得熬个通宵了!

我年薪百万了,也没有码农翻身

从月薪三千到月薪三千

如何降低程序员的幸福指数?

漫画:量子计算为什么这么牛?

架构师劝退指南

Java每次遇难,总会有大神拯救

程序员的宿命

芯片战争70年,真正的王者即将现身!

干掉软件开发的最大怪兽:狼人!

宇宙第一IDE到底是谁?

HTTP Server :一个差生的逆袭

如何降低程序员的工资?

程序员,你得选准跑路的时间!

Javascript: 一个屌丝的逆袭

我是一个线程

TCP/IP之大明邮差

一个故事讲完Https

CPU 阿甘

再见,MySQL !相关推荐

  1. 再见 MySQL!这可能不再是一个哗众取宠的梗了

    近年来大家可能都有这样一种感受:与编程语言市场不同,数据库市场的竞争激烈异常--一线的在停滞甚至下坠,二线的正在反超. 有种种迹象表明:MySQL 这个流行榜上的榜一大哥,正在逐渐淡出专业开发者的视野 ...

  2. 两岸猿声啼不住,轻舟已过万重山(再见 MySQL 索引~)

    公众号后台回复"学习",免费获取精品学习资料 扫描下方海报 试听 本文来源:再见伐木机 前言 有人谓,再见是何意? 我曰:再见,既是相见时难别亦难,东风无力百花残的难舍难分: 亦是 ...

  3. 从消防水管喝水mysql_再见MYSQL - 06 - 查询性能优化

    查询优化 索引优化 表库结构优化 三架马车 6.1 查询为什么会慢 ? 真正重要的是响应时间 把查询看做一个任务,则他由多个子任务组成 优化子任务 消除一部分子任务 减少子任务的执行次数 让子任务运行 ...

  4. 物联网专业并不好_在广阔的物联网中,“智能”仍然并不意味着安全

    物联网专业并不好 It's long past time for the Internet of Things (IoT) to come with a qualifier. A caveat. Be ...

  5. 再见了,MySQL之父!

    作者:北席    编辑:Emma 来源| BAT架构(ID:BAT_ARCH) 跟自己创办的公司说再见,是一种什么样的体验?在科技界至少有两位大佬,对此有发言权.一位是苹果的乔布斯,另一位就是MySQ ...

  6. Mysql,再见吧!select * !

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:AIOps 应用程序慢如牛,原因多多,可能是网络的原因.可能 ...

  7. 再见,数据库!MySQL千亿数据分库分表架构,堪称惊艳!

    孙玄,江湖人称"玄姐",前58集团技术委员会主席,前转转二手交易平台首席架构师.今天想跟你聊点儿企业里那些年薪百万的架构师,他们的架构设计思维是如何升级的. 话不多说,咱们直接来聊 ...

  8. 再见乱码:5分钟读懂MySQL字符集设置

    一.内容概述 在MySQL的使用过程中,了解字符集.字符序的概念,以及不同设置对数据存储.比较的影响非常重要.不少同学在日常工作中遇到的"乱码"问题,很有可能就是因为对字符集与字符 ...

  9. 再见了 SELECT * !大厂的 MySQL 查询优化方案,确实牛逼!

    Java研发工程师必备技能非MySQL莫属,虽说易学好上手,但应对大厂面试,最容易遭遇滑铁卢.功败垂成的也是它. 上手简单,玩转难,才是这款开源数据库叱咤业界多年的真实写照. MySQL 8.0正式版 ...

  10. 再见了 SELECT *!大厂的 MySQL 查询优化方案,确实牛逼!

    Java 研发工程师必备技能非 MySQL 莫属,虽说易学好上手,但应对大厂面试,最容易遭遇滑铁卢.功败垂成的也是它. 上手简单,玩转难,才是这款开源数据库叱咤业界多年的真实写照. MySQL 8.0 ...

最新文章

  1. excel切片器_excel中的超级好用的筛选神器——切片器
  2. Eclipse中新建WEB项目,JSP页面报错。
  3. Boost:bind绑定的回归测试
  4. 前端调试、兼容、适配指南与工具分享
  5. python中split啥意思_python中split的用法详解_后端开发
  6. 一文读懂商业智能(BI):企业数据分析的中枢
  7. 外观(门面)模式-结构型
  8. 一文了解11个常见的多变量分析方法!
  9. AIX服务(Unix系统)下安装Vim
  10. 金蝶k3服务器系统吗,金蝶k3server2008服务器配置
  11. 【disordered_zip】BUGKU
  12. 2021-10-07 浊音,清音,爆破音频谱分析
  13. 二哥回复读者:研三秋招一败涂地了,怎么办?
  14. 【正点原子MP157连载】第二十八章 A7和M4联合调试-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
  15. 【Linux】echo打印命令
  16. ERROR: node with name rabbit already running on xxx
  17. qq、微信、微博的svg小图标
  18. 内蒙古自治区律师事务所排名情况
  19. JavaWEB_POI导出大量数据excel(50万左右)
  20. 基于WSL2+NVIDIA Docker的开发环境最佳实践

热门文章

  1. 快播将关闭QVOD服务器 清理低俗内容与涉盗版内容
  2. 帝国cms tag生成html,帝国CMS TAG标签伪静态化
  3. 爬点今日头条街拍美女。。。
  4. 三星S8 隐藏Android功能键,三星S8获系统更新 新增虚拟按键隐藏功能
  5. 2020年4大安全会议及论文
  6. 关于Windows下装jupyter
  7. Retouch4me 套件 -- 人像自动精修插件
  8. 此生不戒多巴胺—冲刺总结
  9. python123测验答案第七周_测验7: 文件和数据格式化 (第7周)
  10. 修改IE地址栏Tomcat小猫咪图标