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