2.MySQL開發
MySQL的歷史可以追溯到1979。壹個叫Monty Widenius的人在壹個叫TcX的小公司工作,用BASIC設計了壹個報表工具,可以在壹個4M主頻16KB的電腦上運行。不久之後,這個工具用C語言重寫,移植到Unix平臺上。當時,它只是壹個非常低級的面向報表的存儲引擎。這個工具叫做Unireg。
1985年,瑞典幾個誌同道合的年輕人(以David Axmark為首)成立了壹家公司,也就是MySQL AB的前身。公司最初並沒有開發數據庫產品,而是在實現他們想法的過程中需要壹個數據庫。他們希望使用開源產品。但是當時沒有合適的選擇,也沒有辦法,就自己開發吧。
起初,他們只是設計了壹種按索引順序訪問數據的方法,這是ISAM(索引順序訪問法)存儲引擎核心算法的前身,用ISAM結合mSQL來實現他們的應用需求。早期,他們主要為瑞典的壹些大型零售商提供數據倉庫服務。在系統的使用過程中,隨著數據量的不斷增加和系統復雜度的不斷增加,ISAM和mSQL的組合逐漸不堪重負。在分析了性能瓶頸之後,他們發現問題出在mSQL上。不得已,他們放棄了mSQL,重新開發了壹套功能相似的數據存儲引擎,這就是ISAM存儲引擎。妳可能已經註意到他們當時的主要客戶是數據倉庫,這應該很容易理解為什麽MySQL最擅長的是查詢性能,而不是事務處理(借助第三方存儲引擎)。
在1990中,TcX壹些客戶開始要求對其API提供SQL支持。當時有人想到直接用商業數據庫,但是Monty覺得商業數據庫的速度不盡如人意。於是,在mSQL代碼的幫助下,他將其集成到了自己的存儲引擎中。但遺憾的是,效果不是很好。因此,Monty雄心勃勃,決心自己重寫壹個SQL支持。
1996,MySQL 1.0發布,小範圍使用。1996年6月,MySQL 3.11.1發布,沒有2.x版本。起初只提供了Solaris下的二進制版本。壹個月後,Linux版本出現了。這個時候的MySQL還是很簡單的,除了在壹個表上做壹些插入、更新、刪除、選擇的操作,沒有其他功能。
在接下來的兩年時間裏,MySQL被依次移植到各個平臺。發布的時候,采用的授權策略有些不同:允許免費商業使用,但是MySQL不能和自己的產品壹起發布。如果要壹起發布,必須使用專門的許可,也就是花錢。當然,業務支持也要花錢。其他的可供用戶使用。這種特殊的許可給MySQL帶來了壹定的收入,從而為其可持續發展奠定了良好的基礎。
1999-2000,瑞典成立了壹家公司,叫MySQL AB。雇傭了幾個人與Sleepycat合作開發伯克利DB引擎。因為BDB支持事務處理,所以MySQL開始支持事務處理。
2000年,MySQL公布了自己的源代碼,采用GPL(GNU通用公共許可)許可協議,正式進入開源世界。
2000年4月,MySQL將舊的存儲引擎整理出來,命名為MyISAM。
2001,Heikiki Tuuri向MySQL提出建議,希望集成他們的存儲引擎InnoDB,該引擎也支持事務處理和行級鎖。所以在2001發布3.23版本的時候,就已經支持大部分基本的SQL操作,還集成了MyISAM和InnoDB存儲引擎。MySQL和InnoDB的官方組合版本是4.0。
2004年6月,經典版4.1發布。從5438年6月到2005年10月,發布了裏程碑式的版本MySQL 5.0。在5.0中,添加了遊標、存儲過程、觸發器、視圖和事務支持。在5.0以後的版本中,MySQL清晰地展現了向高性能數據庫發展的步伐。
2008年,MySQL 16被Sun公司收購。
2009年4月20日,Oracle收購Sun公司,MySQL被轉移到Oracle。
MySQL 5.5和MySQL Cluster 7.1發布於2000年4月22日。
現在可以在官網下載的MySQL版本是:5.5.18。Oracle將MySQL版本重新劃分為社區版和企業版。企業版需要收費,當然收費會提供更多的功能。