You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Tyler Hobbs <ty...@datastax.com> on 2013/08/06 00:41:03 UTC

DataStax Native Protocol Python Driver [beta]

For those of you using pycassa or the cassandra dbapi2 driver, I wanted to
let you know that a beta version of the DataStax python driver is available
on GitHub here: https://github.com/datastax/python-driver

This driver works exclusively with cql3 and uses the new native protocol
for Cassandra 1.2+ in place of Thrift.  The main benefits are:

   - Request pipelining, which allows for greater throughput with a smaller
   number of connections
   - Push notifications from Cassandra about changes to the cluster state
   - More advanced connection pooling capabilities, including node
   autodiscovery, token-aware routing, and multi-datacenter awareness

The driver design closely follows that of the DataStax Java driver (
https://github.com/datastax/java-driver) and C# driver (
https://github.com/datastax/csharp-driver) with some pythonic adjustments.

There's also a basic mapping layer available through the 'native' branch of
the cqlengine library, which can be found here:
https://github.com/cqlengine/cqlengine/tree/native.

We're planning to put the driver through some rigorous QA internally before
the first non-beta release of the driver later this year.

If you have any questions, suggestions, or bug reports, I would love to
hear them!

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

Re: DataStax Native Protocol Python Driver [beta]

Posted by Edward Capriolo <ed...@gmail.com>.
Nice job man!


On Mon, Aug 5, 2013 at 6:41 PM, Tyler Hobbs <ty...@datastax.com> wrote:

> For those of you using pycassa or the cassandra dbapi2 driver, I wanted to
> let you know that a beta version of the DataStax python driver is available
> on GitHub here: https://github.com/datastax/python-driver
>
> This driver works exclusively with cql3 and uses the new native protocol
> for Cassandra 1.2+ in place of Thrift.  The main benefits are:
>
>    - Request pipelining, which allows for greater throughput with a
>    smaller number of connections
>    - Push notifications from Cassandra about changes to the cluster state
>    - More advanced connection pooling capabilities, including node
>    autodiscovery, token-aware routing, and multi-datacenter awareness
>
> The driver design closely follows that of the DataStax Java driver (
> https://github.com/datastax/java-driver) and C# driver (
> https://github.com/datastax/csharp-driver) with some pythonic adjustments.
>
> There's also a basic mapping layer available through the 'native' branch
> of the cqlengine library, which can be found here:
> https://github.com/cqlengine/cqlengine/tree/native.
>
> We're planning to put the driver through some rigorous QA internally
> before the first non-beta release of the driver later this year.
>
> If you have any questions, suggestions, or bug reports, I would love to
> hear them!
>
> --
> Tyler Hobbs
> DataStax <http://datastax.com/>
>

Re: DataStax Native Protocol Python Driver [beta]

Posted by Blair Zajac <bl...@orcaware.com>.
On 8/16/13 9:05 AM, Tyler Hobbs wrote:
>
> On Fri, Aug 16, 2013 at 3:35 AM, Sergey Leschenko <sergle.ua@gmail.com
> <ma...@gmail.com>> wrote:
>
>     Is there some list of planned drivers for other programming languages?
>
>
> I don't know if we have a list somewhere, but we're currently working on
> a C/C++ driver and we'd like to make sure that good Ruby, node.js, and
> (probably) PHP drivers are also available.  I believe there are some
> decent options for node.js already, and various members of the community
> have also put together drivers for Clojure, Scala, and Go.

Out of curiosity, did you look at taking the C++ driver and wrapping it 
with SWIG or something similar for the Python, Ruby drivers?  Would the 
performance be better?  I would think with Python, you could maintain a 
separate C thread for receiving notifications from Cassandra without 
taking a lock on the GIL.

I realize that having a native Python driver is also nice for simplicity 
in deployment, but just wondering.

Blair

Re: DataStax Native Protocol Python Driver [beta]

Posted by Tyler Hobbs <ty...@datastax.com>.
On Fri, Aug 16, 2013 at 3:35 AM, Sergey Leschenko <se...@gmail.com>wrote:

> Is there some list of planned drivers for other programming languages?


I don't know if we have a list somewhere, but we're currently working on a
C/C++ driver and we'd like to make sure that good Ruby, node.js, and
(probably) PHP drivers are also available.  I believe there are some decent
options for node.js already, and various members of the community have also
put together drivers for Clojure, Scala, and Go.


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

Re: DataStax Native Protocol Python Driver [beta]

Posted by Sergey Leschenko <se...@gmail.com>.
On Tue, Aug 6, 2013 at 1:41 AM, Tyler Hobbs <ty...@datastax.com> wrote:

> For those of you using pycassa or the cassandra dbapi2 driver, I wanted to
> let you know that a beta version of the DataStax python driver is available
> on GitHub here: https://github.com/datastax/python-driver
>

​Thanks!
Is there some list of planned drivers for other programming languages?​

-- 
Sergey