[ https://issues.apache.org/jira/browse/CASSANDRA-1735?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis resolved CASSANDRA-1735. --------------------------------------- Resolution: Won't Fix Gary did some tests in CASSANDRA-1765 and found no significant advantage over Thrift. Given that, and our brief experience supporting a second rpc protocol (Avro in the 0.7 series), I don't think this is going anywhere. > Using MessagePack for reducing data size > ---------------------------------------- > > Key: CASSANDRA-1735 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1735 > Project: Cassandra > Issue Type: New Feature > Components: API > Affects Versions: 0.7 beta 3 > Environment: Fedora11, JDK1.6.0_20 > Reporter: Muga Nishizawa > Attachments: > 0001-implement-a-Cassandra-RPC-part-with-MessagePack.patch, > dependency_libs.zip > > > For improving Cassandra performance, I implemented a Cassandra RPC part with > MessagePack. The implementation details are attached as a patch. The patch > works on Cassandra 0.7.0-beta3. Please check it. > MessagePack is one of object serialization libraries for cross-languages like > Thrift and Protocol Buffers but it is much faster, small, and easy to > implement. MessagePack allows reducing serialization cost and data size in > network and disk. > MessagePack websites are > * website: http://msgpack.org/ > This website compares MessagePack, Thrift and JSON. > * desing details: > http://redmine.msgpack.org/projects/msgpack/wiki/FormatDesign > * source code: https://github.com/msgpack/msgpack/ > Performance of the data serialization library is one of the most important > issues for developing a distributed database in Java. If the performance is > bad, it significantly reduces the overall database performance. Java's GC > also runs many times. Cassandra has this problem as well. > For reducing data size in network between a client and Cassandra, I > prototyped the implementation of a Cassandra RPC part with MessagePack and > MessagePack-RPC. The implementation is very simple. MessagePack-RPC can > reuse the existing Thrift based CassandraServer > (org.apache.cassandra.thrift.CassandraServer) > while adapting MessagePack's communication protocol and data serialization. > Major features of MessagePack-RPC are > * Asynchronous RPC > * Parallel Pipelining > * Connection pooling > * Delayed return > * Event-driven I/O > * more details: http://redmine.msgpack.org/projects/msgpack/wiki/RPCDesign > * source code: https://github.com/msgpack/msgpack-rpc/ > The attached patch includes a ring cache program for MessagePack and its test > program. > You can check the behavior of the Cassandra RPC with MessagePack. > Thanks in advance, -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira