Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 470844D08 for ; Wed, 11 May 2011 16:08:03 +0000 (UTC) Received: (qmail 57660 invoked by uid 500); 11 May 2011 16:08:01 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 57619 invoked by uid 500); 11 May 2011 16:08:00 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 57611 invoked by uid 99); 11 May 2011 16:08:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 May 2011 16:08:00 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [209.85.161.172] (HELO mail-gx0-f172.google.com) (209.85.161.172) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 May 2011 16:07:55 +0000 Received: by gxk19 with SMTP id 19so274571gxk.31 for ; Wed, 11 May 2011 09:07:33 -0700 (PDT) Received: by 10.236.206.116 with SMTP id k80mr4633980yho.291.1305130053681; Wed, 11 May 2011 09:07:33 -0700 (PDT) Received: from alex.local (cpe-66-68-190-114.austin.res.rr.com [66.68.190.114]) by mx.google.com with ESMTPS id s11sm116647anm.40.2011.05.11.09.07.32 (version=SSLv3 cipher=OTHER); Wed, 11 May 2011 09:07:33 -0700 (PDT) Message-ID: <4DCAB443.1060107@alex.otherinbox.com> Date: Wed, 11 May 2011 11:07:31 -0500 From: Alex Araujo User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 MIME-Version: 1.0 To: user@cassandra.apache.org Subject: Re: Data types for cross language access References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/11/11 5:27 AM, Oliver Dungey wrote: > I am currently working on a system with Cassandra that is written > purely in Java. I know our end solution will require other languages > to access the data in Cassandra (Python, C++ etc.). What is the best > way to store data to ensure I can do this? Should I serialize > everything to strings/json/xml prior to the byte conversion? We > currently use the Hector serializer, I wondered if we should just > switch this to something like Jackson/JAXB? Any thoughts very welcome. I believe most high level (non-Thrift) clients convert types to/from bytes consistently without additional serialization (XML, JSON, etc). There may be a few tricks to working with TimeUUIDs for slices, but at least the Java and Python versions appear to be compatible. It's probably worth writing a few tests using your target languages to make sure: http://wiki.apache.org/cassandra/ClientOptions Don't see a C++ client, but a quick Google search turned up: http://github.com/posulliv/libcassandra