MySQL學習筆記-MySQL最終還是沒有逃脫Oracle的手掌心

芬蘭程序員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小試牛刀, 用匯編語言把把遊戲機上的一些熱門遊戲在這個機器上實現了!

可見遊戲有着多麼強大的驅動力!

兩年以後,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歲了,依然在一線奮戰。

傳奇將會繼續......

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章