You are viewing a plain text version of this content. The canonical link for it is here.
Posted to client-dev@cassandra.apache.org by Eric Evans <ee...@rackspace.com> on 2010/09/01 04:05:00 UTC

Mailing list scope

Just as a reminder about the scope of this list, and as a catalyst for
discussion about what the scope should be, if that's needed:

The purpose of this list is discussion pertaining to the development of
client APIs (think Pycassa, Hector, Pelops, Scromium, LazyBoy, etc).  

So for example, discussion about application development using the
Thrift (or Avro) APIs, would be off-topic.  So would questions about
using Hector.

Examples of on-topic discussions would be things like, the Cassandra
roadmap, or architecture discussions pertaining to the public API.

Thanks.

-- 
Eric Evans
eevans@rackspace.com


Re: Cassandra Perl interface

Posted by Chip Salzenberg <ch...@pobox.com>.
> Dave Viner <da...@pobox.com> writes:
>
> Why not use the C or C++ bindings for cassandra's thrift implementation and
> make a SWIG based module?  Then, all the ugliness can reside in c/c++ and
> swig-ing module is a fairly well-defined path.

That sounds like a reasonable way to make Thrift, generally, faster on
Perl -- a goal that I personally have no interest in.

I'm making an idiomatic interface - one that works as well as possible
with Perl's native style and data structures, and that is easy & natural
for Perl users.
Using Swig I'd end up with something that's just as awkward as Thrift is
now, just less slow.  Not my itch, not gonna scratch it.


Re: Cassandra Perl interface

Posted by Chip Salzenberg <ch...@pobox.com>.
>
> Seems a bit of overkill to pull C or C++ into the mix. The issues seem
> to be the best algorithm design and being able to detect the ring
> membership correctly. Do not think it's  a problem than cannot be
> solved inside python or any other language for that matter. 
>
> Aaron 

Here's my reasoning:
If speed matters, then C/C++ is not optional.  Thrift requires too much
bit-twiddling.  There's perfectly good autogenerated C++ available; it
would be silly not to use it.
If speed doesn't matter, then using Cassandra is not worth the trouble.



Re: Cassandra Perl interface

Posted by Aaron Morton <aa...@thelastpickle.com>.
Seems a bit of overkill to pull C or C++ into the mix. The issues seem to be the best algorithm design and being able to detect the ring membership correctly. Do not think it's  a problem than cannot be solved inside python or any other language for that matter. 

Aaron 

On 01 Sep, 2010,at 02:21 PM, Dave Viner <da...@pobox.com> wrote:

I was thinking of something similar... but here's my real question about
it...

Why not use the C or C++ bindings for cassandra's thrift implementation and
make a SWIG based module? Then, all the ugliness can reside in c/c++ and
swig-ing module is a fairly well-defined path.

I haven't actually tried to write any code to do it... more mental
gymnastics to consider it.

Any reason you didn't got the SWIG route?

Dave Viner


On Tue, Aug 31, 2010 at 7:17 PM, Chip Salzenberg <ch...@pobox.com> wrote:

>
> > The purpose of this list is discussion pertaining to the development of
> > client APIs (think Pycassa, Hector, Pelops, Scromium, LazyBoy, etc).
>
> I'm working on a Cassandra interface for Perl that uses the C++ thrift
> bindings. (Perl is not the ideal language for protocol twiddling, and
> the thrift generated Perl code is very far from theoretical maximum
> performance.) Almost none of the protocol itself is implemented yet,
> but the C/Perl plumbing is under construction, and the module does
> actually build. Code is at http://github.com/chipdude/cassandra-perl
>
>

Re: Cassandra Perl interface

Posted by Dave Viner <da...@pobox.com>.
I was thinking of something similar... but here's my real question about
it...

Why not use the C or C++ bindings for cassandra's thrift implementation and
make a SWIG based module?  Then, all the ugliness can reside in c/c++ and
swig-ing module is a fairly well-defined path.

I haven't actually tried to write any code to do it... more mental
gymnastics to consider it.

Any reason you didn't got the SWIG route?

Dave Viner


On Tue, Aug 31, 2010 at 7:17 PM, Chip Salzenberg <ch...@pobox.com> wrote:

>
> > The purpose of this list is discussion pertaining to the development of
> > client APIs (think Pycassa, Hector, Pelops, Scromium, LazyBoy, etc).
>
> I'm working on a Cassandra interface for Perl that uses the C++ thrift
> bindings.  (Perl is not the ideal language for protocol twiddling, and
> the thrift generated Perl code is very far from theoretical maximum
> performance.)  Almost none of the protocol itself is implemented yet,
> but the C/Perl plumbing is under construction, and the module does
> actually build.  Code is at http://github.com/chipdude/cassandra-perl
>
>

Cassandra Perl interface

Posted by Chip Salzenberg <ch...@pobox.com>.
> The purpose of this list is discussion pertaining to the development of
> client APIs (think Pycassa, Hector, Pelops, Scromium, LazyBoy, etc).  

I'm working on a Cassandra interface for Perl that uses the C++ thrift
bindings.  (Perl is not the ideal language for protocol twiddling, and
the thrift generated Perl code is very far from theoretical maximum
performance.)  Almost none of the protocol itself is implemented yet,
but the C/Perl plumbing is under construction, and the module does
actually build.  Code is at http://github.com/chipdude/cassandra-perl