Mysql歷史
MySQL這個名字,起源不是很明確。一個比較有影響的說法是,基本指南和大量的庫和工具帶有字首“my”已經有10年以上,而且不管怎樣,MySQL AB創始人之一的Monty Widenius的女兒也叫My。這兩個到底是哪一個給出了MySQL這個名字至今依然是個密,包括開發者在內也不知道。
MySQL的海豚標誌的名字叫“sakila”,它是由MySQL AB的創始人從使用者在“海豚命名”的競賽中建議的大量的名字表中選出的。獲勝的名字是由來自非洲史瓦濟蘭的開源軟體開發者Ambrose Twebaze提供。根據Ambrose所說,Sakila來自一種叫SiSwati的史瓦濟蘭方言,也是在Ambrose的家鄉烏干達附近的坦尚尼亞的Arusha的一個小鎮的名字。
MySQL,雖然功能未必很強大,但因為它的開源、廣泛傳播,導致很多人都瞭解到這個資料庫。它的歷史也富有傳奇性。
MySQL的歷史最早可以追溯到1979年,那時Oracle也才小打小鬧,微軟的SQL Server影子都沒有。有一個人叫Monty Widenius, 為一個叫TcX的小公司打工,並用BASIC設計了一個報表工具,可以在4M主頻和16KB內在的計算機上執行。過了不久,又將此工具,使用C語言重寫,移植到Unix平臺,當時,它只是一個很底層的面向報表的儲存引擎。這個工具叫做Unireg。
可是,這個小公司資源有限,Monty天賦極高,面對資源有限的不利條件,他反而更能發揮潛能,總是力圖寫出最高效的程式碼。並因此養成了習慣。與Monty同在一起的還有一些別的同事,很少有人能堅持把那些程式碼持續寫到20年後,而Monty卻做到了。
1990年,TcX的customer 中開始有人要求要為它的API提供SQL支援,當時,有人想到了直接使用商用資料庫算了,但是Monty覺得商用資料庫的速度難令人滿意。於是,他直接藉助於mSQL的程式碼,將它整合到自己的儲存引擎中。但不巧的是,效果並不太好。於是, Monty雄心大起,決心自己重寫一個SQL支援。
1996年,MySQL 1.0釋出,只面向一小撥人,相當於內部發布。到了96年10月,MySQL 3.11.1釋出了,呵呵,沒有2.x版本。最開始,只提供了Solaris下的二進位制版本。一個月後,Linux版本出現了。
緊接下來的兩年裡,MySQL依次移植到各個平臺下。它釋出時,採用的許可策略,有些與眾不同:允許免費商用,但是不能將MySQL與自己的產品繫結在一起釋出。如果想一起釋出,就必須使用特殊許可,意味著要花銀子。當然,商業支援也是需要花銀子的。其它的,隨使用者怎麼用都可以。這種特殊許可為MySQL帶來了一些收入,從而為它的持續發展打下了良好的基礎。(細想想,PostgreSQL曾經有幾年限入低谷,可能與它的完全免費,不受任何限制有關係)。
MySQL3.22應該是一個標誌性的版本,提供了基本的SQL支援。
1999-2000年,有一家公司在瑞典成立了,叫MySQL AB (不知道AB是什麼意思,待查)。 僱了幾個人,與Sleepycat合作,開發出了 Berkeley DB引擎, 因為BDB支援事務處理,所以,MySQL從此開始支援事務處理了。
2000年4月,MySQL對舊的儲存引擎進行了整理,命名為MyISAM。同時,2001年,Heikiki Tuuri向MySQL提出建議,希望能整合他們的儲存引擎InnoDB,這個引擎同樣支援事務處理,還支援行級鎖。
如今,遺憾的是,BDB和InnoDB好像都被Oracle收購了,為了消滅競爭對手,哪怕是開源的,都是不擇手段。
MySQL與InnoDB的正式結合版本是4.0。
到了MySQL5.0,2003年12月,開始有View, 儲存過程之類的東東,當然,其間, bug也挺多。
在2008年1月16號 MySQL被Sun公司收購。
最近,MySQL的創始人Monty Widenius已經向Sun提交了辭呈。head都要走了。
據說,被Sun收購的公司多薄命,不知道MySQL今後前途如何,希望一路走好。相信MySQL的生命力還是很長久的。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13442480/viewspace-1029051/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql架構和歷史MySql架構
- MySQL版本發展歷史介紹MySql
- 高效能 MySQL【筆記】-架構與歷史MySql筆記架構
- MySQL使用pt-archiver歸檔歷史資料MySqlHive
- iOS歷史(iOS系統發展歷史)iOS
- 容器歷史
- 歷史背景
- tcpdump歷史TCP
- OAuth歷史OAuth
- 高效能MySQL—第一章 MySQL架構與歷史MySql架構
- HTTP的歷史HTTP
- 澳門歷史
- MySQL 並行複製方案演進歷史及原理分析MySql並行
- [oracle] 查詢歷史會話、歷史執行計劃Oracle會話
- 光榮策略遊戲的歷史及未來——歷史篇遊戲
- 騰訊的歷史
- 計算機歷史計算機
- 回顧 Firefox 歷史Firefox
- 微信的歷史
- 14.3 瀏覽歷史
- SDRAM簡要歷史
- Linux發展歷史Linux
- 中國歷史(2)明朝276年曆史
- 中國歷史(5)唐朝289年曆史
- 中國歷史(4)宋朝319年曆史
- 中國歷史(3)元朝98年曆史
- 中國歷史(6)唐朝289年曆史
- Git基本命令 -- 歷史Git
- 朝鮮半島歷史
- 用遊戲學歷史遊戲
- 歷史精選文章合集
- Kubernetes 發行版本歷史
- TcxMRUEdit 最近歷史記錄
- git檢視提交歷史Git
- 如何修剪git reflog歷史Git
- 還原歷史?這恰恰是歷史策略遊戲中最難做到的遊戲
- Dynamics CRM 在表單上顯示更改歷史記錄(稽核歷史記錄)
- git log提交歷史詳解Git
- Entity Framework版本歷史概覽Framework