從MySQL 5.5發(fā)布看開源數(shù)據(jù)庫版本升級新模式
原創(chuàng)【51CTO精選譯文】盡管甲骨文收購Sun交易尚在等待最終結果,業(yè)界對開源數(shù)據(jù)庫MySQL的未來命運也十分擔憂(51CTO編輯注:為了讓歐盟更快批準交易,甲骨文在本月早些時候發(fā)布了聲明,就MySQL做出了十項承諾),但Sun的開發(fā)者依然在繼續(xù)努力研發(fā)該開源數(shù)據(jù)庫。他們的勞動果實之一就是最近發(fā)布的MySQL 5.5里程碑 2開發(fā)者版本。新版引入了許多新功能,其中有些功能最初是為MySQL 6.0而準備的。
最近兩年以來,MySQL界一直在討論MySQL 6.0版。最近發(fā)布的一個MySQL穩(wěn)定版是5.1版,在飽受爭議和一再推遲后,該版本于一年前初次亮相。
繼推出MySQL 5.1版后,MySQL開發(fā)團隊改變了推出新版的模式,以支持一個更迅速和更穩(wěn)定的版本升級周期。此后,某些計劃在6.0版中推出的功能提前亮相。
Sun發(fā)言人史蒂夫·柯瑞(Steve Curry)指出,“作為這種新模式的一部分,我們已經(jīng)將許多原先為6.0版計劃的功能提前在MySQL 5.5版中實現(xiàn),將來肯定會有MySQL 6.0版,但是我們尚未決定它將包含哪些新升級功能。”
柯瑞表示,他相信用戶會因為MySQL 5.5里程碑版中的眾多新功能而感到興奮,其中包括性能和擴展性方面的改進。
◆MySQL 5.5新增了半同步復制功能,現(xiàn)在MySQL用戶除了使用默認的異步復制功能之外,又多了一種復制功能可供選擇。
據(jù)MySQL 5.5版本聲明顯示,“在返回執(zhí)行復制事務的會話之前,Master端將暫停執(zhí)行提交,直到slave端確認它已經(jīng)收到并記錄復制事務。”相比之下,在異步復制功能中,Master端將直接記錄事件,而無需知道slave是否真正處理了復制事務。
◆MySQL 5.5增加了改進的partitioning語法。在這個新版數(shù)據(jù)庫中,有許多新的數(shù)據(jù)庫分區(qū)功能選項,其中包括用戶自定義的RANGE COLUMNS分區(qū)功能選項。
MySQL官方表示,“當用戶在根據(jù)RANGE COLUMNS或LIST COLUMNS對表進行分區(qū)時,可以根據(jù)多列數(shù)值相應的定義ranges或lists,最高可關聯(lián)16列。”
◆在MySQL 5.5里程碑版中,還新增了對SQL標準SINGAL和RESINGNAL語句的支持。SINGNAL語句和RESINGNAL語句都可確保一個錯誤狀態(tài)能夠被返回到數(shù)據(jù)庫Hander。
MySQL官方表示,“沒有SINGNAL,如果想讓程序返回錯誤,必須借助于諸如故意指向一個不錯在的表等迂回解決方案。而RESINGNAL既可以處理錯誤又能返回錯誤信息。否則,通過在Handler內(nèi)執(zhí)行一個SQL語句,激活Handler的信息將會被破壞。”
從MySQL 5.1到MySQL 5.5
就目前而言,MySQL 5.5里程碑版還是一個開發(fā)者版,還不適合用在正式的生產(chǎn)環(huán)境。但這并不說明Sun不希望人們試用這個新版本,柯瑞表示,MySQL 5.5測試者的工作非常重要,可以幫助Sun收到反饋意見和估算進度。
如果想從目前的5.1版升級到還處于開發(fā)版的5.5,用戶無需自行摸索升級方法??氯鸨硎?,“我們正在提供大量的移植資料,幫助用戶完成升級過程,并鼓勵他們開始熟悉新版的功能,我們不希望用戶在這一過程中遇到任何麻煩。”
至于MySQL 5.5何時結束目前的開發(fā)者里程碑版而正式發(fā)布,柯瑞表示尚未最終確定。
他表示,“將來從社區(qū)、客戶和內(nèi)部QA獲得了初步反饋意見后,我們將有更明確的想法。通過這種新里程碑版本模式,我們正努力完善數(shù)據(jù)庫所有功能。初步用戶反饋意見令人滿意,但現(xiàn)在說何時正式發(fā)布還為時尚早。我們很高興能把這一新版本推向社區(qū),它們會告訴我們應該如何開發(fā)這一軟件。”
原文:MySQL 6 Features Roll Into MySQL 5.5 Milestone 作者:Sean Michael Kerner