一、MySQL數據庫介紹
MySQL數據庫是一款深受歡迎的開源領域的重要的關系型數據庫產品,由瑞典MySQL AB公司開發與維護,2006年,Mysql AB公司被SUN公司收購,並做了很多改進2008年,SUN公司又被數據庫龍頭公司甲骨文(oracle公司)收購,因此,Mysql數據庫目前屬於oracle公司,成為傳統數據庫領域老大的又一個數據庫產品,甲骨文公司收購MySQL后,使得自身在商業數據庫與開源數據庫領域市場占有份額都躍居第一的位置,這樣的格局,引起了業內的人士擔憂,這種擔憂直接導致后來的MySQL分支數據庫Mariadb的誕生與發展。
前面已經介紹過,MySQL屬於傳統關系型數據庫產品,它的開放式的架構使得用戶選擇性很強,同時社區開發與維護人數眾多,其功能比較穩定,性能卓越,且在遵守GPL協議的前提下,可以免費使用與修改,也為MySQL的推廣與使用帶來了更多利好。在MySQL成長與發展過程中,支持的功能逐漸增多,性能也不斷提高,對平台支持也越來越多。
MySQL是一種關系型數據庫管理系統關系型數據庫的特點是將數據保存在不同的表中,在將這些表放入不同的數據庫中,而不是將所有數據統一放在一個大倉庫里,這樣的設計增加了MySQL的讀取速度,靈活性可管理性也得到了很大提高。訪問以及管理MySQL數據庫的最常用標准化語言為SQL結構化查詢語言。
二、MariaDB數據庫誕生背景介紹
自甲骨文公司收購了MySQL數據庫產品后,引起了很多業界人士擔憂,因此 商業數據庫的老大有可能將mysql閉源的潛在風險,為了避免oracle將MySQL閉源,而無開源的類MySQL數據庫可用,MySQL社區采用分支的方式來避開這個風險,因此MariaDB數據庫就向后兼容,這樣誕生了,MariaDB是一個向后兼容,可能在以后替代MySQL的數據庫的一個不錯的新的數據庫產品,這樣作者還是建議大家選擇更穩定使用更廣泛的MySQL數據庫,
MariaDB數據庫可以先測試,等產品應用人員做多一些,社區更活躍后再考慮使用為好。
三、為什么選擇MySQL數據庫
毫無疑問,既成事實,絕大多數的使用Linux操作系統的大中小互聯網網站都在使用MySQL作為其后端的數據庫存儲,從大型BAT門戶,到電商平台,分類門戶等無一例外都使用MySQL數據庫。那么,MySQL數據庫到底那些優勢和特點,讓大家義無反顧的選擇它呢?
原因可能有以下幾點:
- MySQL性能卓越,服務穩定,很少出現異常宕機
- MySQL開放源代碼且無版權制約,自主性及使用成本低
- MySQL歷史悠久,社區及用戶非常活躍,遇到問題,可以尋求幫助
- MySQL軟件體積小,安裝使用簡單,並且易於維護,安裝及維護成本低
- MySQL品牌口碑較應,使得企業無需考慮就直接用之,LAMP,LEMP流行架構。
- MySQL支持多種操作語言,提供多種API接口,支持多種開發語言,特別對流行的
PHP語言有很好的支持。
四、MySQL數據庫分類與版本升級
MySQL數據庫的官方網站為https://www.mysql.com/,其發布的MySQL版本采用雙授權政策,和大多數開源產品的路線一樣,分為社區版和商業版,而這兩個版本又各自分四個版本依次發布,這四個版本為:Alpha版,Beta版,RC版和GA版
MySQL數據庫商業版與社區版區別
MySQL數據庫商業版發布介紹
MySQL商業版是由MySQL AB公司內部專門的人員負責開發及維護,但同時也會吸納社區人員編寫的優秀代碼及算法,並且由專門的人員嚴格按照軟件測試流程對這些采納的代碼進行嚴格測試,沒有問題再進行發布。簡單地說,MySQL商業版是由MySQL公司內部發布,同時參考社區版的先進代碼功能和算法,是MySQL公司的贏利產品,需要付費才能使用及提供服務支持,穩定性和可靠性無疑都是最好的,當然了,企業腰包得夠鼓才能買得起。據作者了解到的信息,某知名分類門戶網站早期就購買過MySQL商業版,價格不比那些閉源的商業數據庫便宜,也是大好幾十萬,好貴的說。
MySQL數據庫社區版發布介紹
MySQL社區版則是由分散在世界各地的MySQL開發者,愛好者以及用戶參與開發與測試,並完成軟件代碼的管理,測試工作,社區也會設立BUG匯報機制,收集用戶使用遇到BUG問題情況,相比商業版,社區版的開發及測試環境沒有那么嚴格。
MySQL數據庫商業版與社區版區別
MySQL商業版與社區版之間的區別在於:
- 商業版組織管理與測試環節控制更嚴格,穩定性方面,會比社區版本更穩定
- MySQL是成熟產品,商業版與社區版之間性能方面相差不大
- 商業版不遵守GPL協議,社區版遵守GPL協議可以免費使用!
- 使用商業版后可以購買相關的服務,享受7*24小時技術支持及定時打補丁等服務,
但是用戶必須為此支付服務費用。 - 社區版本的維護服務只能靠社區提供,無法像商業版本獲得故障及補丁解決服務了,
但是,使用社區版是完全免費的方式,社區版的服務質量與時效性等方面就無法與MySQL AB公司提供的服務相比了!
MySQL數據庫四種發布版本介紹
在前面的內容已經闡述過,MySQL的版本發布采用雙授權政策,即分為社區版和商業版,而這兩個版本又各自分四個版本依次發布:ALPHA版,BETA版,RC版和GA版本。
這個四種發布版本之間的說明及區別,如下:
-
ALPHA版
ALPHA版一把是只在開發公司內部運行,不對外公開。主要是開發者自己對產品進行測試,檢查產品是否存在缺陷,錯誤,驗證產品功能與說明書,用戶手冊是否一致,MySQL
是屬於開放源代碼的開源產品,因此需要世界各地開發者,愛好者和用戶參與軟件的開發,測試和手冊編寫等工作。所以會對外公布此版本的源碼和產品,方便任何人可以參與或測試工作,甚至編寫與修改用戶手冊。 -
BETA版
Beta版一般是完成功能的開發和所有的測試工作之后的產品,不會存在較大的功能或
性能BUG,並且邀請或提供給用戶體驗與測試,以便更全面地測試軟件的不足之處或存在的問題。 -
RC版
RC版屬於生產環境發布之前的一個小版本或稱候選版,是根據BETA版本測試結果,收
集到的BUG或缺陷之處等收集到的信息,進行修復和完善之后的一版產品 -
GA版
GA版是軟件產品正式發布的版本,也稱生產版本的產品。一般情況下,企業的生產環
境都會選擇GA版本的MySQL軟件,用於真實的生產環境中,偶爾有個別大型企業會追求新功能驅動而犧牲穩定性使用其他版本,但這是個例。MySQL四種發布版本選擇說明:
MySQL ab官方網站會把四種數據庫版本都提供下載,主要是MySQL數據庫屬於開放源代碼的數據庫產品,鼓勵全球的技術愛好者參與研發,測試,文檔編寫和經驗分享,甚至包過產品發展規划,低於Development版本,Alpha版本和beta版本是絕對不允許使用在任何生產環境的,肯定存在重大的問題和功能未完全實現。絕大多數情況下RC版本也是不允許使用在生產環境,畢竟這是一個GA版本之前,也即生產版本發布之前的一個小版本,另外,對MySQL數據庫GA版本,也是需要慎重選擇,開源社區產品畢竟不是經過嚴格的測試工序完成的產品,是全球開源技術人員的自願完成的,會存在比商業產品穩定性弱的缺陷。更嚴格的選擇見后文。
官方地址版本下載:http://www.mysql.com
五、MYSQL產品路線
MYSQL產品路線變更歷史背景
早期,MYSQL也是遵循版本號逐漸增加的方式發展,格式例如:mysql-x.xx.xx.tar.gz,
列如:DBA老鳥們都非常熟悉的生產場景版本:4.1.7,5.0.56等
近幾年,為了提高MYSQL產品的競爭優越,以及提供性能,降低開發維護成本等原因,同時,更方便企業用戶更精准的選擇適合的版本產品用於自己的企業生產環境中,MYSQL在發展到5.1系列版本之后,重新規划為三條產品線。
第一條5.0.xx到5.1.xx產品線系列介紹
第一條產品線:5.0.xx及升級到5.1.xx的產品系列,這條產品線繼續完善與改進其用戶體驗和性能,同時增加新功能,這條路線可以說是MYSQL早期產品的延續系列,這一系列的產品發布情況及歷史版本如下:
MYSQL5.1是當前穩定(產品質量)發布系列。只針對漏洞修復重新發布;沒有增加會影響穩定性的新功能。
MYSQL5.0是前一穩定(產品質量)發布系列。只針對嚴重漏洞修復和安全修復重新發布;沒有增加會影響該系列的嚴重功能。
MYSQL4.0和3.23是舊的穩定(產品質量)發布系列。該版本不再使用,新的發布只用來修復特別嚴重的漏洞(以前的安全問題)
第二條5.4.xx到5.7.xx產品線系列介紹
第二條產品線:為了更好地整合MYSQL AB公司社區和第三方公司開發的新存儲引擎,以及吸收新的實現算法等,從而更好地支持SMP架構,提高性能而做了大量的代碼重構。版本編號為從5.4.xx開始,目前發展到了5.6.x
第三條6.0.xx到7.1.xx產品線系列介紹
第三條產品線:為了更好地推廣MYSQL CLUSTER版本,以及提高MYSQL cluster的性能的穩定性,以及功能改進和增加,以及改動mysql基礎功能,使其對Cluster存儲引擎提供更有效的支持與優化。版本號為6.0.xx開發,目前發展到7.1.xx
官方地址提供數據庫下載版本:https://dev.mysql.com/downloads/mysql/