Mysql歷史

pcsh發表於2009-11-25

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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章