cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] [Resolved] (CASSANDRA-1735) Using MessagePack for reducing data size
Date Sun, 14 Aug 2011 23:29:28 GMT


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:
>             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,
> 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:
>         This website compares MessagePack, Thrift and JSON.  
>     * desing details:
>     * source code:
> 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:
>     * source code:
> 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:


View raw message