Re: Choosing python client lib for Cassandra

2013-11-26 Thread Laing, Michael
We use the python-driver and have contributed some to its development.

I have been careful to not push too fast on features until we need them.
For example, we have just started using prepared statements - working well
BTW.

Next we will employ futures and start to exploit the async nature of new
interface to C*.

We are very familiar with libev in both C and python, and are happy to dig
into the code to add features and fix bugs as needed, so the rewards of
bypassing the old and focusing on the new seem worth the risks to us.

ml


On Tue, Nov 26, 2013 at 1:16 PM, Jonathan Haddad j...@jonhaddad.com wrote:

 So, for cqlengine (https://github.com/cqlengine/cqlengine), we're
 currently using the thrift api to execute CQL until the native driver is
 out of beta.  I'm a little biased in recommending it, since I'm one of the
 primary authors.  If you've got cqlengine specific questions, head to the
 mailing list: https://groups.google.com/forum/#!forum/cqlengine-users

 If you want to roll your own solution, it might make sense to take an
 approach like we did and throw a layer on top of thrift so you don't have
 to do a massive rewrite of your entire app once you want to go native.

 Jon


 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan winnerd...@gmail.comwrote:

 I have worked with Pycassa before and wrote a wrapper to use batch
 mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to use CQL
 3 based api because Thrift based api (Pycassa) will be supported for
 backward compatibility only. Apache site recommends to use Python api
 written by DataStax which is still in Beta (As per their documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and layout
 of packages,modules, classes, and functions are subject to change. There
 may also be serious bugs, so usage in a production environment is *not* 
 recommended
 at this time.

 DataStax site http://www.datastax.com/download/clientdrivers recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one compared
 between CQL 3 based apis? Which stands out on top? Answers based on facts
 will help the community so please refrain from opinions.

 Please help ??




 --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade



Re: Choosing python client lib for Cassandra

2013-11-26 Thread Kumar Ranjan
Michael - thanks. Have you tried batching and thread pooling in python-driver? 
For now, i would avoid object mapper cqlengine, just because of my deadlines.

—
Sent from Mailbox for iPhone

On Tue, Nov 26, 2013 at 1:52 PM, Laing, Michael michael.la...@nytimes.com
wrote:

 We use the python-driver and have contributed some to its development.
 I have been careful to not push too fast on features until we need them.
 For example, we have just started using prepared statements - working well
 BTW.
 Next we will employ futures and start to exploit the async nature of new
 interface to C*.
 We are very familiar with libev in both C and python, and are happy to dig
 into the code to add features and fix bugs as needed, so the rewards of
 bypassing the old and focusing on the new seem worth the risks to us.
 ml
 On Tue, Nov 26, 2013 at 1:16 PM, Jonathan Haddad j...@jonhaddad.com wrote:
 So, for cqlengine (https://github.com/cqlengine/cqlengine), we're
 currently using the thrift api to execute CQL until the native driver is
 out of beta.  I'm a little biased in recommending it, since I'm one of the
 primary authors.  If you've got cqlengine specific questions, head to the
 mailing list: https://groups.google.com/forum/#!forum/cqlengine-users

 If you want to roll your own solution, it might make sense to take an
 approach like we did and throw a layer on top of thrift so you don't have
 to do a massive rewrite of your entire app once you want to go native.

 Jon


 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan winnerd...@gmail.comwrote:

 I have worked with Pycassa before and wrote a wrapper to use batch
 mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to use CQL
 3 based api because Thrift based api (Pycassa) will be supported for
 backward compatibility only. Apache site recommends to use Python api
 written by DataStax which is still in Beta (As per their documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and layout
 of packages,modules, classes, and functions are subject to change. There
 may also be serious bugs, so usage in a production environment is *not* 
 recommended
 at this time.

 DataStax site http://www.datastax.com/download/clientdrivers recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one compared
 between CQL 3 based apis? Which stands out on top? Answers based on facts
 will help the community so please refrain from opinions.

 Please help ??




 --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade


Re: Choosing python client lib for Cassandra

2013-11-26 Thread Kumar Ranjan
Jon - Thanks. As I understand, cqlengine is an object mapper and must be using 
for cql prepare statements. What are you wrapping it with, in alternative to 
python-driver? 

—
Sent from Mailbox for iPhone

On Tue, Nov 26, 2013 at 1:19 PM, Jonathan Haddad j...@jonhaddad.com
wrote:

 So, for cqlengine (https://github.com/cqlengine/cqlengine), we're currently
 using the thrift api to execute CQL until the native driver is out of beta.
  I'm a little biased in recommending it, since I'm one of the primary
 authors.  If you've got cqlengine specific questions, head to the mailing
 list: https://groups.google.com/forum/#!forum/cqlengine-users
 If you want to roll your own solution, it might make sense to take an
 approach like we did and throw a layer on top of thrift so you don't have
 to do a massive rewrite of your entire app once you want to go native.
 Jon
 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan winnerd...@gmail.com wrote:
 I have worked with Pycassa before and wrote a wrapper to use batch
 mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to use CQL
 3 based api because Thrift based api (Pycassa) will be supported for
 backward compatibility only. Apache site recommends to use Python api
 written by DataStax which is still in Beta (As per their documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and layout of
 packages,modules, classes, and functions are subject to change. There may
 also be serious bugs, so usage in a production environment is *not* 
 recommended
 at this time.

 DataStax site http://www.datastax.com/download/clientdrivers recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one compared
 between CQL 3 based apis? Which stands out on top? Answers based on facts
 will help the community so please refrain from opinions.

 Please help ??

 -- 
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade

Re: Choosing python client lib for Cassandra

2013-11-26 Thread Jonathan Haddad
We're currently using the cql package, which is really a wrapper around
thrift.

To your concern about deadlines, I'm not sure how writing raw CQL is going
to be any faster than using a mapper library for anything other than the
most trivial of project.



On Tue, Nov 26, 2013 at 11:09 AM, Kumar Ranjan winnerd...@gmail.com wrote:

 Jon - Thanks. As I understand, cqlengine is an object mapper and must be
 using for cql prepare statements. What are you wrapping it with, in
 alternative to python-driver?
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 1:19 PM, Jonathan Haddad j...@jonhaddad.comwrote:

  So, for cqlengine (https://github.com/cqlengine/cqlengine), we're
 currently using the thrift api to execute CQL until the native driver is
 out of beta.  I'm a little biased in recommending it, since I'm one of the
 primary authors.  If you've got cqlengine specific questions, head to the
 mailing list: https://groups.google.com/forum/#!forum/cqlengine-users

 If you want to roll your own solution, it might make sense to take an
 approach like we did and throw a layer on top of thrift so you don't have
 to do a massive rewrite of your entire app once you want to go native.

 Jon


 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan winnerd...@gmail.comwrote:

  I have worked with Pycassa before and wrote a wrapper to use batch
 mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to use
 CQL 3 based api because Thrift based api (Pycassa) will be supported for
 backward compatibility only. Apache site recommends to use Python api
 written by DataStax which is still in Beta (As per their documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and layout
 of packages,modules, classes, and functions are subject to change. There
 may also be serious bugs, so usage in a production environment is *not* 
 recommended
 at this time.

 DataStax site http://www.datastax.com/download/clientdrivers recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one compared
 between CQL 3 based apis? Which stands out on top? Answers based on facts
 will help the community so please refrain from opinions.

 Please help ??




 --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade





-- 
Jon Haddad
http://www.rustyrazorblade.com
skype: rustyrazorblade


Re: Choosing python client lib for Cassandra

2013-11-26 Thread Robert Coli
On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan winnerd...@gmail.com wrote:

 I have worked with Pycassa before and wrote a wrapper to use batch
 mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to use CQL
 3 based api because Thrift based api (Pycassa) will be supported for
 backward compatibility only.

...

 Please help ??

Your choice is between mature libraries based on Thrift and forward looking
libraries based on the New Hotness. The latter is likely to have a
shake-out period which the former has already weathered. Their performance
is likely to be roughly comparable now, and their feature sets will diverge
in the future, in favor of CQL.

It depends on your priorities, only you know how much you care about the
rawness of the python driver from Datastax. I do suggest that if you go
with CQL, you go with the python driver from Datastax as the defacto
standard. Certainly no other CQL client is likely to be less beta.

=Rob


Re: Choosing python client lib for Cassandra

2013-11-26 Thread Laing, Michael
I think thread pooling is always in operation - and we haven't seen any
problems in that regard going to the 6 local nodes each client connects to.
We haven't tried batching yet.


On Tue, Nov 26, 2013 at 2:05 PM, Kumar Ranjan winnerd...@gmail.com wrote:

 Michael - thanks. Have you tried batching and thread pooling in
 python-driver? For now, i would avoid object mapper cqlengine, just because
 of my deadlines.
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 1:52 PM, Laing, Michael michael.la...@nytimes.com
  wrote:

 We use the python-driver and have contributed some to its development.

 I have been careful to not push too fast on features until we need them.
 For example, we have just started using prepared statements - working well
 BTW.

 Next we will employ futures and start to exploit the async nature of new
 interface to C*.

 We are very familiar with libev in both C and python, and are happy to
 dig into the code to add features and fix bugs as needed, so the rewards of
 bypassing the old and focusing on the new seem worth the risks to us.

 ml


 On Tue, Nov 26, 2013 at 1:16 PM, Jonathan Haddad j...@jonhaddad.comwrote:

  So, for cqlengine (https://github.com/cqlengine/cqlengine), we're
 currently using the thrift api to execute CQL until the native driver is
 out of beta.  I'm a little biased in recommending it, since I'm one of the
 primary authors.  If you've got cqlengine specific questions, head to the
 mailing list: https://groups.google.com/forum/#!forum/cqlengine-users

 If you want to roll your own solution, it might make sense to take an
 approach like we did and throw a layer on top of thrift so you don't have
 to do a massive rewrite of your entire app once you want to go native.

 Jon


 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan winnerd...@gmail.comwrote:

  I have worked with Pycassa before and wrote a wrapper to use batch
 mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to use
 CQL 3 based api because Thrift based api (Pycassa) will be supported for
 backward compatibility only. Apache site recommends to use Python api
 written by DataStax which is still in Beta (As per their documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and layout
 of packages,modules, classes, and functions are subject to change. There
 may also be serious bugs, so usage in a production environment is *not* 
 recommended
 at this time.

 DataStax site http://www.datastax.com/download/clientdrivers recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one compared
 between CQL 3 based apis? Which stands out on top? Answers based on facts
 will help the community so please refrain from opinions.

 Please help ??




  --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade






Re: Choosing python client lib for Cassandra

2013-11-26 Thread Kumar Ranjan
Hi Jon - you are right. Its that I understand other ORM like python sqlalchemy 
or perl DBIX by heart. So i can cql faster than use cqlengine. I will give a 
shot at python-driver based on Michael's recommendation.

—
Sent from Mailbox for iPhone

On Tue, Nov 26, 2013 at 2:21 PM, Jonathan Haddad j...@jonhaddad.com
wrote:

 We're currently using the cql package, which is really a wrapper around
 thrift.
 To your concern about deadlines, I'm not sure how writing raw CQL is going
 to be any faster than using a mapper library for anything other than the
 most trivial of project.
 On Tue, Nov 26, 2013 at 11:09 AM, Kumar Ranjan winnerd...@gmail.com wrote:
 Jon - Thanks. As I understand, cqlengine is an object mapper and must be
 using for cql prepare statements. What are you wrapping it with, in
 alternative to python-driver?
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 1:19 PM, Jonathan Haddad j...@jonhaddad.comwrote:

  So, for cqlengine (https://github.com/cqlengine/cqlengine), we're
 currently using the thrift api to execute CQL until the native driver is
 out of beta.  I'm a little biased in recommending it, since I'm one of the
 primary authors.  If you've got cqlengine specific questions, head to the
 mailing list: https://groups.google.com/forum/#!forum/cqlengine-users

 If you want to roll your own solution, it might make sense to take an
 approach like we did and throw a layer on top of thrift so you don't have
 to do a massive rewrite of your entire app once you want to go native.

 Jon


 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan winnerd...@gmail.comwrote:

  I have worked with Pycassa before and wrote a wrapper to use batch
 mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to use
 CQL 3 based api because Thrift based api (Pycassa) will be supported for
 backward compatibility only. Apache site recommends to use Python api
 written by DataStax which is still in Beta (As per their documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and layout
 of packages,modules, classes, and functions are subject to change. There
 may also be serious bugs, so usage in a production environment is *not* 
 recommended
 at this time.

 DataStax site http://www.datastax.com/download/clientdrivers recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one compared
 between CQL 3 based apis? Which stands out on top? Answers based on facts
 will help the community so please refrain from opinions.

 Please help ??




 --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade



 -- 
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade

Re: Choosing python client lib for Cassandra

2013-11-26 Thread Laing, Michael
That's not a problem we have faced yet.


On Tue, Nov 26, 2013 at 2:46 PM, Kumar Ranjan winnerd...@gmail.com wrote:

 How do you insert huge amount of data?
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 2:31 PM, Laing, Michael michael.la...@nytimes.com
  wrote:

 I think thread pooling is always in operation - and we haven't seen any
 problems in that regard going to the 6 local nodes each client connects to.
 We haven't tried batching yet.


 On Tue, Nov 26, 2013 at 2:05 PM, Kumar Ranjan winnerd...@gmail.comwrote:

 Michael - thanks. Have you tried batching and thread pooling in
 python-driver? For now, i would avoid object mapper cqlengine, just because
 of my deadlines.
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 1:52 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 We use the python-driver and have contributed some to its development.

 I have been careful to not push too fast on features until we need
 them. For example, we have just started using prepared statements - working
 well BTW.

 Next we will employ futures and start to exploit the async nature of
 new interface to C*.

 We are very familiar with libev in both C and python, and are happy to
 dig into the code to add features and fix bugs as needed, so the rewards of
 bypassing the old and focusing on the new seem worth the risks to us.

 ml


 On Tue, Nov 26, 2013 at 1:16 PM, Jonathan Haddad j...@jonhaddad.comwrote:

  So, for cqlengine (https://github.com/cqlengine/cqlengine), we're
 currently using the thrift api to execute CQL until the native driver is
 out of beta.  I'm a little biased in recommending it, since I'm one of the
 primary authors.  If you've got cqlengine specific questions, head to the
 mailing list: https://groups.google.com/forum/#!forum/cqlengine-users

 If you want to roll your own solution, it might make sense to take an
 approach like we did and throw a layer on top of thrift so you don't have
 to do a massive rewrite of your entire app once you want to go native.

 Jon


 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan winnerd...@gmail.comwrote:

  I have worked with Pycassa before and wrote a wrapper to use batch
 mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to use
 CQL 3 based api because Thrift based api (Pycassa) will be supported for
 backward compatibility only. Apache site recommends to use Python api
 written by DataStax which is still in Beta (As per their documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and
 layout of packages,modules, classes, and functions are subject to change.
 There may also be serious bugs, so usage in a production environment is
 *not* recommended at this time.

 DataStax site http://www.datastax.com/download/clientdrivers recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one compared
 between CQL 3 based apis? Which stands out on top? Answers based on facts
 will help the community so please refrain from opinions.

 Please help ??




  --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade








Re: Choosing python client lib for Cassandra

2013-11-26 Thread Kumar Ranjan
Jon - Any comment on batching?

—
Sent from Mailbox for iPhone

On Tue, Nov 26, 2013 at 2:52 PM, Laing, Michael michael.la...@nytimes.com
wrote:

 That's not a problem we have faced yet.
 On Tue, Nov 26, 2013 at 2:46 PM, Kumar Ranjan winnerd...@gmail.com wrote:
 How do you insert huge amount of data?
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 2:31 PM, Laing, Michael michael.la...@nytimes.com
  wrote:

 I think thread pooling is always in operation - and we haven't seen any
 problems in that regard going to the 6 local nodes each client connects to.
 We haven't tried batching yet.


 On Tue, Nov 26, 2013 at 2:05 PM, Kumar Ranjan winnerd...@gmail.comwrote:

 Michael - thanks. Have you tried batching and thread pooling in
 python-driver? For now, i would avoid object mapper cqlengine, just because
 of my deadlines.
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 1:52 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 We use the python-driver and have contributed some to its development.

 I have been careful to not push too fast on features until we need
 them. For example, we have just started using prepared statements - 
 working
 well BTW.

 Next we will employ futures and start to exploit the async nature of
 new interface to C*.

 We are very familiar with libev in both C and python, and are happy to
 dig into the code to add features and fix bugs as needed, so the rewards 
 of
 bypassing the old and focusing on the new seem worth the risks to us.

 ml


 On Tue, Nov 26, 2013 at 1:16 PM, Jonathan Haddad 
 j...@jonhaddad.comwrote:

  So, for cqlengine (https://github.com/cqlengine/cqlengine), we're
 currently using the thrift api to execute CQL until the native driver is
 out of beta.  I'm a little biased in recommending it, since I'm one of 
 the
 primary authors.  If you've got cqlengine specific questions, head to the
 mailing list: https://groups.google.com/forum/#!forum/cqlengine-users

 If you want to roll your own solution, it might make sense to take an
 approach like we did and throw a layer on top of thrift so you don't have
 to do a massive rewrite of your entire app once you want to go native.

 Jon


 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan 
 winnerd...@gmail.comwrote:

  I have worked with Pycassa before and wrote a wrapper to use batch
 mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to use
 CQL 3 based api because Thrift based api (Pycassa) will be supported for
 backward compatibility only. Apache site recommends to use Python api
 written by DataStax which is still in Beta (As per their documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and
 layout of packages,modules, classes, and functions are subject to 
 change.
 There may also be serious bugs, so usage in a production environment is
 *not* recommended at this time.

 DataStax site http://www.datastax.com/download/clientdrivers recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one compared
 between CQL 3 based apis? Which stands out on top? Answers based on 
 facts
 will help the community so please refrain from opinions.

 Please help ??




  --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade







Re: Choosing python client lib for Cassandra

2013-11-26 Thread Robert Coli
On Tue, Nov 26, 2013 at 11:46 AM, Kumar Ranjan winnerd...@gmail.com wrote:

 How do you insert huge amount of data?


http://www.palominodb.com/blog/2012/09/25/bulk-loading-options-cassandra ?

=Rob


Re: Choosing python client lib for Cassandra

2013-11-26 Thread Jonathan Haddad
cqlengine supports batch queries, see the docs here:
http://cqlengine.readthedocs.org/en/latest/topics/queryset.html#batch-queries


On Tue, Nov 26, 2013 at 11:53 AM, Kumar Ranjan winnerd...@gmail.com wrote:

 Jon - Any comment on batching?
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 2:52 PM, Laing, Michael michael.la...@nytimes.com
  wrote:

 That's not a problem we have faced yet.


 On Tue, Nov 26, 2013 at 2:46 PM, Kumar Ranjan winnerd...@gmail.comwrote:

 How do you insert huge amount of data?
  —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


  On Tue, Nov 26, 2013 at 2:31 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 I think thread pooling is always in operation - and we haven't seen any
 problems in that regard going to the 6 local nodes each client connects to.
 We haven't tried batching yet.


 On Tue, Nov 26, 2013 at 2:05 PM, Kumar Ranjan winnerd...@gmail.comwrote:

 Michael - thanks. Have you tried batching and thread pooling in
 python-driver? For now, i would avoid object mapper cqlengine, just 
 because
 of my deadlines.
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 1:52 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 We use the python-driver and have contributed some to its development.

 I have been careful to not push too fast on features until we need
 them. For example, we have just started using prepared statements - 
 working
 well BTW.

 Next we will employ futures and start to exploit the async nature of
 new interface to C*.

 We are very familiar with libev in both C and python, and are happy
 to dig into the code to add features and fix bugs as needed, so the 
 rewards
 of bypassing the old and focusing on the new seem worth the risks to us.

 ml


 On Tue, Nov 26, 2013 at 1:16 PM, Jonathan Haddad 
 j...@jonhaddad.comwrote:

  So, for cqlengine (https://github.com/cqlengine/cqlengine), we're
 currently using the thrift api to execute CQL until the native driver is
 out of beta.  I'm a little biased in recommending it, since I'm one of 
 the
 primary authors.  If you've got cqlengine specific questions, head to 
 the
 mailing list:
 https://groups.google.com/forum/#!forum/cqlengine-users

 If you want to roll your own solution, it might make sense to take
 an approach like we did and throw a layer on top of thrift so you don't
 have to do a massive rewrite of your entire app once you want to go 
 native.

 Jon


 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan 
 winnerd...@gmail.comwrote:

  I have worked with Pycassa before and wrote a wrapper to use
 batch mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to
 use CQL 3 based api because Thrift based api (Pycassa) will be 
 supported
 for backward compatibility only. Apache site recommends to use Python 
 api
 written by DataStax which is still in Beta (As per their 
 documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and
 layout of packages,modules, classes, and functions are subject to 
 change.
 There may also be serious bugs, so usage in a production environment is
 *not* recommended at this time.

 DataStax site http://www.datastax.com/download/clientdrivers recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one compared
 between CQL 3 based apis? Which stands out on top? Answers based on 
 facts
 will help the community so please refrain from opinions.

 Please help ??




  --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade










-- 
Jon Haddad
http://www.rustyrazorblade.com
skype: rustyrazorblade


Re: Choosing python client lib for Cassandra

2013-11-26 Thread Kumar Ranjan
Hi Jonathan - Does cqlengine have support for python 2.6 ?


On Tue, Nov 26, 2013 at 4:17 PM, Jonathan Haddad j...@jonhaddad.com wrote:

 cqlengine supports batch queries, see the docs here:
 http://cqlengine.readthedocs.org/en/latest/topics/queryset.html#batch-queries


 On Tue, Nov 26, 2013 at 11:53 AM, Kumar Ranjan winnerd...@gmail.comwrote:

 Jon - Any comment on batching?
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 2:52 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 That's not a problem we have faced yet.


 On Tue, Nov 26, 2013 at 2:46 PM, Kumar Ranjan winnerd...@gmail.comwrote:

 How do you insert huge amount of data?
  —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


  On Tue, Nov 26, 2013 at 2:31 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 I think thread pooling is always in operation - and we haven't seen
 any problems in that regard going to the 6 local nodes each client 
 connects
 to. We haven't tried batching yet.


 On Tue, Nov 26, 2013 at 2:05 PM, Kumar Ranjan winnerd...@gmail.comwrote:

 Michael - thanks. Have you tried batching and thread pooling in
 python-driver? For now, i would avoid object mapper cqlengine, just 
 because
 of my deadlines.
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 1:52 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 We use the python-driver and have contributed some to its
 development.

 I have been careful to not push too fast on features until we need
 them. For example, we have just started using prepared statements - 
 working
 well BTW.

 Next we will employ futures and start to exploit the async nature of
 new interface to C*.

 We are very familiar with libev in both C and python, and are happy
 to dig into the code to add features and fix bugs as needed, so the 
 rewards
 of bypassing the old and focusing on the new seem worth the risks to us.

 ml


 On Tue, Nov 26, 2013 at 1:16 PM, Jonathan Haddad 
 j...@jonhaddad.comwrote:

  So, for cqlengine (https://github.com/cqlengine/cqlengine), we're
 currently using the thrift api to execute CQL until the native driver 
 is
 out of beta.  I'm a little biased in recommending it, since I'm one of 
 the
 primary authors.  If you've got cqlengine specific questions, head to 
 the
 mailing list:
 https://groups.google.com/forum/#!forum/cqlengine-users

 If you want to roll your own solution, it might make sense to take
 an approach like we did and throw a layer on top of thrift so you don't
 have to do a massive rewrite of your entire app once you want to go 
 native.

 Jon


 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan winnerd...@gmail.com
  wrote:

  I have worked with Pycassa before and wrote a wrapper to use
 batch mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to
 use CQL 3 based api because Thrift based api (Pycassa) will be 
 supported
 for backward compatibility only. Apache site recommends to use Python 
 api
 written by DataStax which is still in Beta (As per their 
 documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and
 layout of packages,modules, classes, and functions are subject to 
 change.
 There may also be serious bugs, so usage in a production environment 
 is
 *not* recommended at this time.

 DataStax site http://www.datastax.com/download/clientdrivers 
 recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one 
 compared
 between CQL 3 based apis? Which stands out on top? Answers based on 
 facts
 will help the community so please refrain from opinions.

 Please help ??




  --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade










 --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade



Re: Choosing python client lib for Cassandra

2013-11-26 Thread Jonathan Haddad
No, 2.7 only.


On Tue, Nov 26, 2013 at 3:04 PM, Kumar Ranjan winnerd...@gmail.com wrote:

 Hi Jonathan - Does cqlengine have support for python 2.6 ?


 On Tue, Nov 26, 2013 at 4:17 PM, Jonathan Haddad j...@jonhaddad.comwrote:

 cqlengine supports batch queries, see the docs here:
 http://cqlengine.readthedocs.org/en/latest/topics/queryset.html#batch-queries


 On Tue, Nov 26, 2013 at 11:53 AM, Kumar Ranjan winnerd...@gmail.comwrote:

 Jon - Any comment on batching?
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 2:52 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 That's not a problem we have faced yet.


 On Tue, Nov 26, 2013 at 2:46 PM, Kumar Ranjan winnerd...@gmail.comwrote:

 How do you insert huge amount of data?
  —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


  On Tue, Nov 26, 2013 at 2:31 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 I think thread pooling is always in operation - and we haven't seen
 any problems in that regard going to the 6 local nodes each client 
 connects
 to. We haven't tried batching yet.


 On Tue, Nov 26, 2013 at 2:05 PM, Kumar Ranjan 
 winnerd...@gmail.comwrote:

 Michael - thanks. Have you tried batching and thread pooling in
 python-driver? For now, i would avoid object mapper cqlengine, just 
 because
 of my deadlines.
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 1:52 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 We use the python-driver and have contributed some to its
 development.

 I have been careful to not push too fast on features until we need
 them. For example, we have just started using prepared statements - 
 working
 well BTW.

 Next we will employ futures and start to exploit the async nature
 of new interface to C*.

 We are very familiar with libev in both C and python, and are happy
 to dig into the code to add features and fix bugs as needed, so the 
 rewards
 of bypassing the old and focusing on the new seem worth the risks to 
 us.

 ml


 On Tue, Nov 26, 2013 at 1:16 PM, Jonathan Haddad j...@jonhaddad.com
  wrote:

  So, for cqlengine (https://github.com/cqlengine/cqlengine),
 we're currently using the thrift api to execute CQL until the native 
 driver
 is out of beta.  I'm a little biased in recommending it, since I'm 
 one of
 the primary authors.  If you've got cqlengine specific questions, 
 head to
 the mailing list:
 https://groups.google.com/forum/#!forum/cqlengine-users

 If you want to roll your own solution, it might make sense to take
 an approach like we did and throw a layer on top of thrift so you 
 don't
 have to do a massive rewrite of your entire app once you want to go 
 native.

 Jon


 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan 
 winnerd...@gmail.com wrote:

  I have worked with Pycassa before and wrote a wrapper to use
 batch mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now to
 use CQL 3 based api because Thrift based api (Pycassa) will be 
 supported
 for backward compatibility only. Apache site recommends to use 
 Python api
 written by DataStax which is still in Beta (As per their 
 documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and
 layout of packages,modules, classes, and functions are subject to 
 change.
 There may also be serious bugs, so usage in a production environment 
 is
 *not* recommended at this time.

 DataStax site http://www.datastax.com/download/clientdrivers 
 recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one 
 compared
 between CQL 3 based apis? Which stands out on top? Answers based on 
 facts
 will help the community so please refrain from opinions.

 Please help ??




  --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade










 --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade





-- 
Jon Haddad
http://www.rustyrazorblade.com
skype: rustyrazorblade


Re: Choosing python client lib for Cassandra

2013-11-26 Thread Kumar Ranjan
Thanks Jonathan for the help.


On Tue, Nov 26, 2013 at 6:14 PM, Jonathan Haddad j...@jonhaddad.com wrote:

 No, 2.7 only.


 On Tue, Nov 26, 2013 at 3:04 PM, Kumar Ranjan winnerd...@gmail.comwrote:

 Hi Jonathan - Does cqlengine have support for python 2.6 ?


 On Tue, Nov 26, 2013 at 4:17 PM, Jonathan Haddad j...@jonhaddad.comwrote:

 cqlengine supports batch queries, see the docs here:
 http://cqlengine.readthedocs.org/en/latest/topics/queryset.html#batch-queries


 On Tue, Nov 26, 2013 at 11:53 AM, Kumar Ranjan winnerd...@gmail.comwrote:

 Jon - Any comment on batching?
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 2:52 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 That's not a problem we have faced yet.


 On Tue, Nov 26, 2013 at 2:46 PM, Kumar Ranjan winnerd...@gmail.comwrote:

 How do you insert huge amount of data?
  —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


  On Tue, Nov 26, 2013 at 2:31 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 I think thread pooling is always in operation - and we haven't seen
 any problems in that regard going to the 6 local nodes each client 
 connects
 to. We haven't tried batching yet.


 On Tue, Nov 26, 2013 at 2:05 PM, Kumar Ranjan 
 winnerd...@gmail.comwrote:

 Michael - thanks. Have you tried batching and thread pooling in
 python-driver? For now, i would avoid object mapper cqlengine, just 
 because
 of my deadlines.
 —
 Sent from Mailbox https://www.dropbox.com/mailbox for iPhone


 On Tue, Nov 26, 2013 at 1:52 PM, Laing, Michael 
 michael.la...@nytimes.com wrote:

 We use the python-driver and have contributed some to its
 development.

 I have been careful to not push too fast on features until we need
 them. For example, we have just started using prepared statements - 
 working
 well BTW.

 Next we will employ futures and start to exploit the async nature
 of new interface to C*.

 We are very familiar with libev in both C and python, and are
 happy to dig into the code to add features and fix bugs as needed, so 
 the
 rewards of bypassing the old and focusing on the new seem worth the 
 risks
 to us.

 ml


 On Tue, Nov 26, 2013 at 1:16 PM, Jonathan Haddad 
 j...@jonhaddad.com wrote:

  So, for cqlengine (https://github.com/cqlengine/cqlengine),
 we're currently using the thrift api to execute CQL until the native 
 driver
 is out of beta.  I'm a little biased in recommending it, since I'm 
 one of
 the primary authors.  If you've got cqlengine specific questions, 
 head to
 the mailing list:
 https://groups.google.com/forum/#!forum/cqlengine-users

 If you want to roll your own solution, it might make sense to
 take an approach like we did and throw a layer on top of thrift so 
 you
 don't have to do a massive rewrite of your entire app once you want 
 to go
 native.

 Jon


 On Tue, Nov 26, 2013 at 9:46 AM, Kumar Ranjan 
 winnerd...@gmail.com wrote:

  I have worked with Pycassa before and wrote a wrapper to use
 batch mutation  connection pooling etc. But
 http://wiki.apache.org/cassandra/ClientOptions recommends now
 to use CQL 3 based api because Thrift based api (Pycassa) will be 
 supported
 for backward compatibility only. Apache site recommends to use 
 Python api
 written by DataStax which is still in Beta (As per their 
 documentation).
 See warnings from their python-driver/README.rst file

 *Warning*

 This driver is currently under heavy development, so the API and
 layout of packages,modules, classes, and functions are subject to 
 change.
 There may also be serious bugs, so usage in a production 
 environment is
 *not* recommended at this time.

 DataStax site http://www.datastax.com/download/clientdrivers 
 recommends
 using DB-API 2.0 plus legacy api's. Is there more? Has any one 
 compared
 between CQL 3 based apis? Which stands out on top? Answers based on 
 facts
 will help the community so please refrain from opinions.

 Please help ??




  --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade










 --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade





 --
 Jon Haddad
 http://www.rustyrazorblade.com
 skype: rustyrazorblade