MariaDB 10.0 和 MySQL 5.6 有何不同
| 去年的5月,我第一次在博客上介紹了關(guān)于MariaDB 10.0。 我們當時收到很多的反饋,在進行眾人意見總結(jié)后,我們再次的更加深入的解釋過MariaDB 10.0. 在新的一年的伊始,隨著MariaDB 10.0 的 Alpha版本的推出,現(xiàn)在應(yīng)該是時候再多說一點關(guān)于MariaDB 10.0, 特別是它和MySQL 5.6的一些區(qū)別,而這個問題也是我和很多身在MariaDB項目里的人都常常被問及的問題。 | sjZ52 |
| 首先, 我要著重詳述下為什么我們沒有把MySQL 5.6 直接拿過來作為二次開發(fā)的基礎(chǔ),去做一個產(chǎn)品,可以唄稱為 MariaDB 5.6. 這個原因的細節(jié)我們直接都沒有和眾人分享。 1. MySQL5.6 的代碼庫的文件結(jié)構(gòu)已經(jīng)被改動了。比如單個代碼文件已經(jīng)被分成多個,又或者是某些代碼已經(jīng)被重新歸類到了不同的文件內(nèi)。所以要把MariaDB 去配合現(xiàn)在這個文件結(jié)構(gòu)一定是一個非常消耗時間的過程。而其實我確實不是很明白MySQL為什么要改動現(xiàn)有的文件結(jié)構(gòu)。 2. MairaDB 5.5 已經(jīng)有大量的代碼不同于MySQL 5.5 的版本,而且也有很多的新的特征被整合到MariaDB 5.5 中,而這些特征知道 5.6 版本 才出現(xiàn)在MySQL中。所以我們在比較同樣功能的MySQL 和MariaDB的版本,同時在完成設(shè)計和QA方面的審核后,一個很明顯的結(jié)論是MariaDB會是一個更好的產(chǎn)品。在大多數(shù)情況下,在選擇 MariaDB的時候,人們會更多的考慮到功能方面的偏好。 3. 所以MySQL的新代碼,至少是修改bug的代碼以后都沒有必要進行相應(yīng)的測試了。我們試想一下,當有這樣一個功能要加入到一段代碼中,而這個功能原本就是來源于這段代碼的情況下,測試將是一個異常重要的過程來保證這個功能的正常運行。 | sjZ52 |
| 和上文中提到的第二點和第三點一樣,Stewart Smith在Percona寫到關(guān)于Mysql最后安全補丁的回歸測試和QA如何測試使用MariaDB工程,以及保存在Percona服務(wù)器用作回歸測試的測試用例的重要性。參考:wrote yesterday about the latest security fix in MySQL introducing a regression MariaDB不僅僅是Mysql的一個替代品。它的主要目的是創(chuàng)新和提高Mysql的技術(shù),Mysql5.6不是一個合適的創(chuàng)新基礎(chǔ)平臺,所以我們就做了下面的事情: 1.由于我們引入了一些新功能(像?multi-source replication多源復(fù)制, Cassandra integration, engine independent statistics獨立統(tǒng)計系統(tǒng)等),所以我們需要搞個新版本。通常當你引入新功能時,你需要新建個版本。 2.下個版本稱作“MariaDB5.6”是不準確的,因為他不是基于Mysql5.6,取而代之,我們決定版本號調(diào)為10.0 3.MariaDB引入Mysql5.6作為一種替代方案的話,需要提升很多功能,我們已經(jīng)邁出了第一步,正朝著合并或者重建Mysql5.6的功能方向發(fā)展。 | 繆斯的情人 |
| 首先,mariadb?10.0是一個主要數(shù)據(jù)庫版本,比如組合后的innodb與組合后性能架構(gòu),和一個新的全局執(zhí)行事務(wù)id。夏日里,mariadb?10,有可能被當做GA開放式數(shù)據(jù)庫。(注釋) 通過階梯式的方法,我們的最終目的是聚合或者重新實現(xiàn)mysql5.6的所有功能特色。重新實現(xiàn)的所有功能特色都將同它們的mysql版本兼容。到此為 止,maria?10將全面兼容mysql5.6版本。除了頂部框架之外,其中含有眾多附加的mariadb數(shù)據(jù)庫的唯一的功能。 | 何傳友 |
| 重 新實現(xiàn)功能的決定很簡單。如果從我們或者用戶的角度來看,MySQL 5.6缺乏該功能,那么我們就重新實現(xiàn)它。重新實現(xiàn)的決定并不是因為“我想這樣做”,或者受“非自主發(fā)明綜合征”的影響。每個問題都是經(jīng)過認真而廣泛的討 論的。你可以加入郵件列表來參與這些討論,并且讓我們聽到你的聲音,郵件列表是? https://launchpad.net/~maria-developers網(wǎng)站上的? maria-developers@lists.launchpad.net?。 | 寒星斜墜 |
| 我們是不是有其他的選擇。答案是 Yes。我們本可以把最新版本的MySQL 5.6 拿過來作為MariaDB 5.6 的基礎(chǔ),然后在其之上進行修修補補。但是,我們需要意識到的是:MariaDB 不是一個附加的補丁程序。雖然MairaDB 實在MySQL的基礎(chǔ)上建立起來的,但是我們有很多的工程師正在努力工作,他們的功勞是不可低估的。不得不提的是,我們?nèi)毜腗ariaDB 的工程師和QA人員一直在努力MySQL 技術(shù)可以更好地為MairaDB服務(wù)。 當然,還有另外一條路可以走,就是不再依賴于MySQL,并且不再兼容MySQL,如此,我們將稱為一個獨立的個體。但是我們不太采取這樣的方案。因為我們和眾多的MariaDB的用戶都收益于MySQL的功能,也很想MariaDB也同樣可以有這些特征。 | sjZ52 |
MariaDB 5.5 已經(jīng)為MairaDB打下一片天地,而且我們自然也會乘機而上。現(xiàn)在,每周都會有更多的下載量,更多的分支是基于MariaDB的,而且更為重要的是已經(jīng)很越來越多的大型運用案例是在采用MariaDB。
我們在進行MariaDB項目的過程中,一直都努力讓MariaDB成為MySQL的一個替代品,而且同時也會有更多的可實現(xiàn)的創(chuàng)新,而這兩點,我們一直都很小心地把握一個平衡來分配我們的投入。當然,沒有傳新,MariaDB永遠都不會是一個真正的產(chǎn)品。
加入MariaDB和SkySQL的聯(lián)合路演,您可以獲得更多更新的關(guān)于MariaDB的消息。我們也很期待聽到你們的建議和意見。路由的時間表和預(yù)訂信息見here.
轉(zhuǎn)載于:https://www.cnblogs.com/dushu/archive/2013/01/21/2869529.html
總結(jié)
以上是生活随笔為你收集整理的MariaDB 10.0 和 MySQL 5.6 有何不同的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1026 Modular multipl
- 下一篇: 数据库压缩