MySQL插件handlersocket的一個java客戶端 - HSJ介紹

jopen 12年前發布 | 38K 次閱讀 MySQL 數據庫服務器

HSJ是mysql插件handlersocket的一個java客戶端。Handlersocket(以下簡稱hs)是mysql的一個插件,旨在提高mysql的寫入和讀取性能,它通過插件的方式賦予MySQL完整的NoSQL功能,從原理上講,它跳過MySQL中最耗時的語法解析,查詢計劃等步驟,直接讀取數據,如果內存夠大,能裝下索引,MySQL的查詢效率能提高若干倍!
相關原理和性能表現參見:(中文)http://www.mysqlops.com/2011/10/19/handlersocket-principle.html(英文,國內或許不能訪問)http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html。hs的安裝比較簡單,兩種方式:
1.安裝mysql的 Percona Server 社區版本,最新版已經自帶了hs插件;
2.安裝mysql5.5以上版本,再安裝hs最新版。具體參見:http://huoding.com/2011/04/10/62

     hs的源碼和各種語言的客戶端參見:https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL

     hs的java客戶端目前已知的有兩個:

     http://code.google.com/p/hs4j/

     http://code.google.com/p/handlersocketforjava/

     handlersocketforjava這個客戶端實現簡單,不具備什么實用性。hs4j網絡層復用xmemcached,但hs一些新的操作協議沒有實現,作者好像也不再維護了,并且沒有異步調用接口。加上本人最近工作重心偏向網絡編程,所以就基于netty實現了一個新的hs的java客戶端-HSJ。

    HSJ有以下幾點優勢:

   1.完備的操作協議支持。包括認證(auth)和modify的各類操作。

   2.異步調用接口支持。

   3.開放的接口,方便支持分庫分表的應用使用。

   4.更好的封裝,openindex操作復用HSJ內部已經實現,勿需調用者關心。hs4j需要自行實現,否則會使應用崩潰。

    5.基于netty開發,性能上有提升。

    6.完備的代碼調用示例,方便上手使用。具體參見DbOperateTest.java

    當然HSJ還有很多待完善的地方,希望更多的應用使用HSJ,使之成為最好的HS java客戶端。也希望有感興趣的開發者加入。請聯系:yq76034150@gmail.com

    HSJ源碼地址:https://hsj.googlecode.com/svn/trunk

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!