You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Koert Kuipers <Ko...@diamondnotch.com> on 2010/11/10 20:03:54 UTC

encoding of values in cassandra

Cassandra keys and values are just bytes. My values range from simple doubles to complex objects so I need to serialize them with something like avro, thrift or protobuf.

Since I am working in a test environment and casssandra is moving to avro I decided to use the avro protocol  to communicate with cassandra (from python and java). So naturally I would also like to encode my values with avro (why have 2 serialization frameworks around?). However avro needs to safe the schema with the serialized values. This is considerable overhead (even if I just safe pointers to schemas  or something like that with the serialized values). It also seems complicated compared to thrift or protobuf where one can just store values.

Did anyone find a neat solution to this? Or should I just use avro for communication and something like protobuf for value serialization?

Best, Koert


Re: encoding of values in cassandra

Posted by Jonathan Ellis <jb...@gmail.com>.
We are moving towards treating Thrift more as a driver than as a
format itself, and using libraries like Hector, pycassa, and phpcassa
from the client.

On Wed, Nov 10, 2010 at 1:03 PM, Koert Kuipers
<Ko...@diamondnotch.com> wrote:
> Cassandra keys and values are just bytes. My values range from simple
> doubles to complex objects so I need to serialize them with something like
> avro, thrift or protobuf.
>
>
>
> Since I am working in a test environment and casssandra is moving to avro I
> decided to use the avro protocol  to communicate with cassandra (from python
> and java). So naturally I would also like to encode my values with avro (why
> have 2 serialization frameworks around?). However avro needs to safe the
> schema with the serialized values. This is considerable overhead (even if I
> just safe pointers to schemas  or something like that with the serialized
> values). It also seems complicated compared to thrift or protobuf where one
> can just store values.
>
>
>
> Did anyone find a neat solution to this? Or should I just use avro for
> communication and something like protobuf for value serialization?
>
>
>
> Best, Koert
>
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com