你是怎么看HandlerSocket沒(méi)有像期待的那樣流行的?
我最近在兩個(gè)不同地方提出HandlerSocket的相關(guān)問(wèn)題,***個(gè)問(wèn)題都是:為什么HandlerSocket沒(méi)有像期待的那樣流行?
盡管HandlerSocket技術(shù)是那么優(yōu)秀,但是它的普及速度遠(yuǎn)沒(méi)有達(dá)到人們期望的那樣迅速。筆者認(rèn)為有如下五個(gè)因素:
1. Bugs, Bugs, Bugs
直到今年年初HandlerSocket仍然存在一些被人認(rèn)為是生死攸關(guān)的bug,雖然這些問(wèn)題已得到了修復(fù),遺憾的是這并未被大家所知曉。
寫(xiě)操作并沒(méi)有淘汰查詢(xún)緩存——如果執(zhí)行了寫(xiě)操作通過(guò)HandlerSocket,由于沒(méi)有失效查詢(xún)緩存, 那么你可能從MySQL讀到舊的數(shù)據(jù)。
不支持自動(dòng)遞增——插入時(shí)無(wú)法從自增列上自動(dòng)獲得增量值
2. 系統(tǒng)軟件發(fā)行
許多公司和組織只是簡(jiǎn)單地使用系統(tǒng)提供給他們的默認(rèn)配置,就像在MySQL的標(biāo)準(zhǔn)發(fā)行版中,MyISAM的使用期最長(zhǎng)一樣:只是因?yàn)樗悄J(rèn)選項(xiàng)。即使在今天,仍有大量的公司在使用MySQL 5.1版本時(shí),依舊沒(méi)有應(yīng)用InnoDB引擎,原因就是這不是默認(rèn)選項(xiàng)。如果人們都不愿意被要求去修改my.cnf文件添加幾行以使Innodb生效的話(huà),就更不要期望他們會(huì)編譯HandlerSocket插件了.
這即將被Percona Server改變,系統(tǒng)將默認(rèn)包含了HandlerSocket插件,而且它只需要幾個(gè)步驟就可以輕松安裝。希望我們會(huì)看到HandlerSocket包含在MySQL社區(qū)中的其他版本。
3. 沒(méi)有發(fā)布
有沒(méi)有真正的發(fā)布或發(fā)布計(jì)劃時(shí)間表。雖然有積極的開(kāi)發(fā),錯(cuò)誤修復(fù),而且文檔也在正在完善,但這并不意味著別人知道錯(cuò)誤已經(jīng)被修復(fù),有更新的可用代碼。
4. 缺乏典型應(yīng)用
這是經(jīng)典的雞和蛋問(wèn)題,人們往往需要看到成功的案例或知名公司的代言才會(huì)決定引進(jìn)一項(xiàng)新技術(shù)。一般來(lái)說(shuō),工程師們更容易記住有良好的文檔的某個(gè)特定技術(shù)的用例。
5. 缺乏基準(zhǔn)測(cè)試
***,基準(zhǔn)測(cè)試工作不夠完善。還沒(méi)有人花時(shí)間去展示其在各種不同數(shù)據(jù)集上的工作情況;因?yàn)橹繦andlerSocket的亮點(diǎn),所以現(xiàn)有的工作幾乎完全集中于主鍵查詢(xún),但人們很想知道對(duì)于其他用例執(zhí)行的結(jié)果如何;另外,當(dāng)基準(zhǔn)測(cè)試僅僅是由一個(gè)對(duì)這個(gè)產(chǎn)品感興趣的一方完成的話(huà),內(nèi)在的不信任感會(huì)油然而生;***,還需要有不同的更廣泛行業(yè)和公司的,各式各樣不同的基準(zhǔn)進(jìn)行完備。
總結(jié)
我們相信這些“問(wèn)題“***會(huì)伴隨HandlerSocket的成熟而自然地消失。更多的人會(huì)發(fā)布基準(zhǔn)和用例。隨著公司升級(jí)Percona-Server的安裝,HandlerSocket就可以被便捷地使用。***,因?yàn)榇a逐漸成熟,社區(qū)不斷發(fā)展,我們會(huì)看到更多的第三方的參與,它們會(huì)帶來(lái)更多的錯(cuò)誤報(bào)告,功能需求和補(bǔ)丁。我對(duì)HandlerSocket非常感興趣,并且非常看好它的未來(lái)。
原文鏈接:http://www.mysqlperformanceblog.com/2011/03/28/whats-up-with-handlersocket/
【編輯推薦】