MySQL的發展大概可以分為三個階段:
* MySQL AB階段
* Sun階段
* Oracle階段
我個人認為MySQL在2009年Oracle接手以后開始了新的篇章,而且是最輝煌的篇章。Oracle掌握了目前最為優秀的InnoDB引擎,這一點的優勢是其他分支版本不具備的,雖然現在有像MyRocks這種目標是替代InnoDB的引擎出現,但是在未來很長一段時間內,MySQL+InnoDB都會是主流。
Oracle一共推出了4個版本,截止我寫作的時候,最新版本是8.0.11,這堪稱MySQL歷史上最大的一次變革。
首先說說Oracle官方是如何定義MySQL的:
* MySQL是一個數據庫管理系統
這里需要厘清一個概念,數據庫和數據庫管理系統。數據庫在一些語境下泛指數據庫管理系統,比如MySQL數據庫,Oracle數據庫,SQLServer數據庫等等,但是在需要精確描述的語境下,數據庫特指文件系統上的一組文件的集合,是專指用來保存數據的文件。而數據庫管理系統則是管理這些文件,提供對外訪問接口,權限控制等等功能一個復雜的軟件系統。
* MySQL數據庫是關系型數據庫
Oracle官方的表述是關系型數據庫是將數據保存在一個一個獨立的表中,而不是全部放在一個地方的。
作為關系型數據庫,MySQL支持SQL語言,而SQL:2003標準作為最新的標準,才應該是我們應該學習的。
* MySQL是開源軟件
開源軟件意味著任何人都可以下載源代碼進行研究,定制開發。MySQL遵循GPL,如果需將要MySQL的源碼用做商業用途,就需要購買許可了。至于具體的操作,參考GPL的相關規定以及Oracle官方的銷售代表。
* MySQL是高效,可靠且具有擴展性的數據庫,而且易于使用
MySQL在Linux系統上是一個單進程多線程的服務,無論是安裝部署還是使用都要比Oracle旗下的另外一款產品Oracle數據庫簡單的多。
基于InnoDB引擎的MySQL,在體系結構上甚至可以認為是一個小型的Oracle數據庫,其體系在經過多年的驗證后,龐大的用戶群體也從側面證明了這款數據庫產品的可靠性。