Re: Choosing python client lib for Cassandra
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
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
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
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
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
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
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
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
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
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
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
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
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
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