MySQL插件handlersocket的一个java客户端 - HSJ介绍

jopen 13年前
     HSJ是mysql插件handlersocket的一个java客户端。Handlersocket(以下简称hs)是mysql的一个插件,旨在提高mysql的写入和读取性能,它通过插件的方式赋予MySQL完整的NoSQL功能,从原理上讲,它跳过MySQL中最耗时的语法解析,查询计划等步骤,直接读取数据,如果内存够大,能装下索引,MySQL的查询效率能提高若干倍!    <br /> 相关原理和性能表现参见:(中文)http://www.mysqlops.com/2011/10/19/handlersocket-principle.html(英文,国内或许不能访问)http://yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html。hs的安装比较简单,两种方式:    <br /> 1.安装mysql的 Percona Server 社区版本,最新版已经自带了hs插件;    <br /> 2.安装mysql5.5以上版本,再安装hs最新版。具体参见:http://huoding.com/2011/04/10/62    <br />    <br />      hs的源码和各种语言的客户端参见:https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL    <br />    <br />      hs的java客户端目前已知的有两个:    <br />    <br />      http://code.google.com/p/hs4j/    <br />    <br />      http://code.google.com/p/handlersocketforjava/    <br />    <br />      handlersocketforjava这个客户端实现简单,不具备什么实用性。hs4j网络层复用xmemcached,但hs一些新的操作协议没有实现,作者好像也不再维护了,并且没有异步调用接口。加上本人最近工作重心偏向网络编程,所以就基于netty实现了一个新的hs的java客户端-HSJ。    <br />    <br />     HSJ有以下几点优势:    <br />    <br />    1.完备的操作协议支持。包括认证(auth)和modify的各类操作。    <br />    <br />    2.异步调用接口支持。    <br />    <br />    3.开放的接口,方便支持分库分表的应用使用。    <br />    <br />    4.更好的封装,openindex操作复用HSJ内部已经实现,勿需调用者关心。hs4j需要自行实现,否则会使应用崩溃。    <br />    <br />     5.基于netty开发,性能上有提升。    <br />    <br />     6.完备的代码调用示例,方便上手使用。具体参见DbOperateTest.java    <br />    <br />     当然HSJ还有很多待完善的地方,希望更多的应用使用HSJ,使之成为最好的HS java客户端。也希望有感兴趣的开发者加入。请联系:yq76034150@gmail.com    <br />    <br />     HSJ源码地址:https://hsj.googlecode.com/svn/trunk    <br />    <br />