MySQL 5.6與MariaDB的那些事
2013年2月Oracle釋出了MySQL 5.6正式版MySQL 5.6.10,這距離上一版本5.5釋出已經過去兩年。當初MySQL創始人Monty Widenius處於對Oracle治下MySQL前途的擔心而離去,自己創立了開源資料庫MariaDB。
很多MySQL的擁躉一定不會忘記當年51CTO的文章《被Oracle拋棄,MySQL將何去何從?》,當時的分析師就告誡Oracle的Larry,您應該把MySQL從遊艇上扔下去。
關於MySQL 5.6的更多新功能特性,請訪問專題:MySQL 5.6革命性升級與新功能
“MySQL是一個包袱,而不是資產,”金融研究機構Global Equities Research 的分析師Trip Chowdhry說。他認為考慮到歐盟的調查和MySQL這兩年微不足道的收入增長,Oracle唯一明智的選擇就是把它剝離。不過,剝離到哪裡去呢?
“MySQL幾乎不可能轉化成實際的收入。它有98%以上的客戶群都是DIY者,他們不認為應該花錢去購買任何支援。我們在Sun公司的聯絡人告訴我們,MySQL一直在解決收入問題,過去3年的收入實際可能都沒有超過5000萬美元,並且看不到任何收入增長,”
如果單從版本號上來說,MySQL 1.0誕生於1996年,而同一年就出現了MySQL 3.11.1(沒有MySQL 2.x版本)。8年後的2004年10月,MySQL 4.1釋出。2005年10月,里程碑式的MySQL 5.0釋出了,而最近的一個版本MySQL 5.5釋出於2010年4月。
從上面的進化歷史來看,MySQL在Oracle的管理下還並沒有死去。其免費開源的特性讓大家還在大量使用MySQL支撐自己的業務。那我們去看看他的兄弟MariaDB。
MariaDB好在哪裡?
MariaDB是一個採用Maria儲存引擎的MySQL分支版本,相對於MySQL最新的版5.6來說,在效能、功能、管理、NoSQL擴充套件方面,MariaDB包含了更豐富的特性。比如微秒的支援、執行緒池、子查詢最佳化、組提交、進度報告等。
來自MariaDB官方部落格的資料顯示,為什麼他們沒有把MySQL 5.6 直接拿過來作為二次開發的基礎,去做一個產品。
首先,MySQL5.6 的程式碼庫的檔案結構已經被改動了。比如單個程式碼檔案已經被分成多個,又或者是某些程式碼已經被重新歸類到了不同的檔案內。
其次,MairaDB 5.5 已經有大量的程式碼不同於MySQL 5.5 的版本,而且也有很多的新的特徵被整合到MariaDB 5.5 中,而這些特徵直到5.6版本才出現在MySQL中。
也正是基於此,MariaDB 5.6這個名字將不會被使用,取而代之的是MariaDB 10.0。他們所做的工作不再是基於之前MySQL的技術功底,而是要逐漸脫離MySQL束縛,給廣大使用者提供功能更加強大的產品。
MariaDB的快速bug fix工作,也讓開發者對其頗有好感,也算是MariaDB的立足之本。
總結
從技術人員的口中和微博裡,我們瞭解到更多的人願意投奔MariaDB的懷抱。一個理由是MariaDB能比MySQL提供更高的效能,另一個原因就是對Oracle統治MySQL的厭惡,開源軟體的精神在MariaDB上顯現得更明顯。當然有技術人員表示現在讓大家全面剝離MySQL投奔MariaDB,最大的難點在於部分MySQL元件無法被替代,尚需時日。
相關文章
- 說說Mongodb 與 MySQL的那些事MongoDBMySql
- mysql那些事MySql
- PHP基礎之與MySQL那些事PHPMySql
- MySql索引那些事MySql索引
- MySQL 和 B 樹的那些事MySql
- git與sourcetree的那些事Git
- MySQL優化那些事兒MySql優化
- 深入淺出Mysql索引的那些事兒MySql索引
- MySQL與MariaDB學習筆記MySql筆記
- IO模型與吃飯的那些事模型
- 七牛與 Ueditor 的那些事兒
- MySQL對決:MySQL與MariaDB孰優孰劣?MySql
- MySQL資料庫int型別的那些事MySql資料庫型別
- MySQL資料遷移那些事兒MySql
- 如何使用mysql 5.6 information schema定位事務鎖資訊MySqlORM
- 聊一聊Iterable與Iterator的那些事!
- 我與圖靈那些事兒圖靈
- MySQL與MariaDB效能比拼,哪個更出色?MySql
- Synchronized的那些事synchronized
- webassembly 的那些事Web
- ViewPager的那些事Viewpager
- C++的那些事:資料與型別C++型別
- C++的那些事:表示式與語句C++
- Vue 與 MVVM 之間那些事兒VueMVVM
- module.exports與export那些事兒Export
- Java 混淆那些事(六):Android 混淆的那些瑣事JavaAndroid
- MariaDB/MySQL中的變數MySql變數
- 關於MySQL密碼你應該知道的那些事MySql密碼
- 關於 MySQL 密碼你應該知道的那些事MySql密碼
- Learning MySQL and MariaDBMySql
- 甲骨文與開源之間的那些事
- 《星球大戰》與Python之間的那些事Python
- 比較MySQL 5.6與前版的同步協議薦MySql協議
- iOS CollectionView 的那些事iOSView
- 微服務的那些事微服務
- webpack的那些事兒Web
- HTTP 2.0 的那些事HTTP
- HTTP 2.0的那些事HTTP