Re: CQL vs Thrift

2013-07-18 Thread Edward Capriolo
If you understand how cql collections are written you can decode them and
work with them from thrift. It's quite a chore and i would not suggest
trying yo do it however.

(I suspect tyler tried it and jonathan broke his hand jk)

There is a perl cassandra driver that did something like this.

On Wednesday, July 17, 2013, Jonathan Ellis jbel...@gmail.com wrote:
 On Wed, Jul 17, 2013 at 4:03 PM, Tyler Hobbs ty...@datastax.com wrote:
 I'll leave it to somebody else to comment on adding collections, etc to
 Thrift.

 Doesn't make sense, since Thrift is all about the raw data cells, and
 collections are an abstraction layer on top of that.

 --
 Jonathan Ellis
 Project Chair, Apache Cassandra
 co-founder, http://www.datastax.com
 @spyced



Re: CQL vs Thrift

2013-07-18 Thread Vivek Mishra
+1. Thrift should be all about raw data cells.

-Vivek


 From: Jonathan Ellis jbel...@gmail.com
To: dev@cassandra.apache.org 
Sent: Thursday, July 18, 2013 2:48 AM
Subject: Re: CQL vs Thrift
 

On Wed, Jul 17, 2013 at 4:03 PM, Tyler Hobbs ty...@datastax.com wrote:
 I'll leave it to somebody else to comment on adding collections, etc to
 Thrift.

Doesn't make sense, since Thrift is all about the raw data cells, and
collections are an abstraction layer on top of that.

-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder, http://www.datastax.com
@spyced

CQL vs Thrift

2013-07-17 Thread Vladimir Prudnikov
Hi all,

This is may be is not the right place to ask, but I though developers can
answer to my questions better than users.

It looks clear that Cassandra dev team concentrates on CQL rather than
Thrift interface. I'm considering using Cassandra as a storage for my
current project which will replace MySQL. I still have problem choosing
between Thrift (Pycassa) vs CQL (cqlengine, python-driver).

Personally after using pycassa in test project I fall in love with it. I'd
prefer to use pycassa rather than python-driver, cqlengine or write raw
queries.

1) What's going on with Thrift interface and pycassa? I read somewhere that
it will be for backward compatibility, but does it mean that new features
will not be added to the Thrift interface hence will not be available with
pycassa? For example collections
http://www.datastax.com/dev/blog/cql3_collections.

2) Currently column families created using CQL is not visible through the
Thrift interface and vice versa. If I start with pycassa and in future I
decide to use CQL (due to lack of new features) will it be possible to use
these CFs? Or convert them so they become visible and accessible using CQL?

3) Also I've done some basic tests (pycassa vs. cqlengine, no prepared
statements) and seems like pycassa performs almost 2 times better which
makes it more preferable. It was simple inserts of couple thousands rows.

Do I have to put up with all this and start using CQL?

Thanks,
-- 
Vladimir Prudnikov


Re: CQL vs Thrift

2013-07-17 Thread Tyler Hobbs
Hi, I'm the maintainer of pycassa and the DataStax python-driver.  I just
broke some fingers, so I will be brief.

Regarding performance, the python driver is brand new and still has some
issues to be worked out around performance (C extension, locking and
signaling).  How you use it has a big impact, though; see the benchmarks/
dir.  Some are on par or better than pycassa for single-threaded rates with
fewer connections.

You can use all Thrift CFs through CQL3.  Some cql3 support may be
backported to pycassa to ease the transition, but I have done no work there
so far.

I'll leave it to somebody else to comment on adding collections, etc to
Thrift.




On Wed, Jul 17, 2013 at 3:18 PM, Vladimir Prudnikov
v.prudni...@gmail.comwrote:

 Hi all,

 This is may be is not the right place to ask, but I though developers can
 answer to my questions better than users.

 It looks clear that Cassandra dev team concentrates on CQL rather than
 Thrift interface. I'm considering using Cassandra as a storage for my
 current project which will replace MySQL. I still have problem choosing
 between Thrift (Pycassa) vs CQL (cqlengine, python-driver).

 Personally after using pycassa in test project I fall in love with it. I'd
 prefer to use pycassa rather than python-driver, cqlengine or write raw
 queries.

 1) What's going on with Thrift interface and pycassa? I read somewhere that
 it will be for backward compatibility, but does it mean that new features
 will not be added to the Thrift interface hence will not be available with
 pycassa? For example collections
 http://www.datastax.com/dev/blog/cql3_collections.

 2) Currently column families created using CQL is not visible through the
 Thrift interface and vice versa. If I start with pycassa and in future I
 decide to use CQL (due to lack of new features) will it be possible to use
 these CFs? Or convert them so they become visible and accessible using CQL?

 3) Also I've done some basic tests (pycassa vs. cqlengine, no prepared
 statements) and seems like pycassa performs almost 2 times better which
 makes it more preferable. It was simple inserts of couple thousands rows.

 Do I have to put up with all this and start using CQL?

 Thanks,
 --
 Vladimir Prudnikov




-- 
Tyler Hobbs
DataStax http://datastax.com/


Re: CQL vs Thrift

2013-07-17 Thread Brandon Williams
On Wed, Jul 17, 2013 at 3:18 PM, Vladimir Prudnikov
v.prudni...@gmail.comwrote:


 I read somewhere that it will be for backward compatibility, but does it
 mean that new features
 will not be added to the Thrift interface


Yes, the thrift interface will remain stable and not be changing.

-Brandon