Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Added Cassandra CQL binding. #145

Closed
wants to merge 1 commit into
from

Conversation

Projects
None yet
3 participants
Collaborator

cmatser commented Oct 17, 2013

Cassandra CQL is the newer query language for accessing Cassandra DB. It's been around for a while and seems to be the language of choice going forward with Cassandra. It's very similar to SQL. As such, the learning curve to using Cassandra is easier through CQL.

Collaborator

busbey commented May 29, 2015

thanks for the contribution and sorry for the lag. I intend to merge this in by the end of the week. I just have a couple of feedback points.

If you're not still working on this, I can make the modifications myself.

@busbey busbey commented on the diff May 29, 2015

@@ -67,7 +68,7 @@
<module>dynamodb</module>
<module>elasticsearch</module>
<!--<module>gemfire</module>-->
- <module>infinispan</module>
@busbey

busbey May 29, 2015

Collaborator

please don't include changes to other modules. if infinispan currently isn't building, we can disable it as a different PR.

@cmatser

cmatser May 29, 2015

Collaborator

Good point. Please update this PR for me.

@busbey busbey commented on the diff May 29, 2015

@@ -45,7 +45,8 @@
<properties>
<maven.assembly.version>2.2.1</maven.assembly.version>
<hbase.version>0.92.1</hbase.version>
- <cassandra.version>0.7.0</cassandra.version>
+ <cassandra.version>1.2.9</cassandra.version>
@busbey

busbey May 29, 2015

Collaborator

does this change mean we can't work with pre-1.2 servers?

@cmatser

cmatser May 29, 2015

Collaborator

I added the new binding as a separate class CassandraCQLClient and left the previous bindings untouched. So, you can use those with pre-1.2 servers. But this property is used in the maven build to pull in the right dependencies for the new CassandraCQLClient. I don't know if the dependencies for the pre-1.2 version are still being pulled in with this change.

I suppose I could have created a "cassandracql.version" property? Then both old and new jars would be pulled, but I'm skeptical about that working. Some dependency jars could get clobbered with older or newer versions. I might tend towards creating it as a separate binding completely, with its own directory if we need old and new to work side-by-side.

I'm not sure this answers your question. The folks at Datastax told me that Cassandra CQL was the direction of the data store moving forward. They did not recommend using the older binding. I did not test with it.

Thanks for your work! Unfortunately, I don't have access to the environment I had when I did this work, but I'll help as much as I can.

@busbey

busbey May 29, 2015

Collaborator

that helps a bunch, thanks for getting back to me.

I suspect separate bindings are the way to go, but I agree that still working with older versions can be something we worry about later.

busbey added a commit to busbey/YCSB that referenced this pull request May 29, 2015

[cassandra] Added support for Cassandra CQL binding.
This includes changes to main pom for latest cassandra driver.

closes #145

@busbey busbey closed this in 5146047 May 29, 2015

jaricftw pushed a commit to jaricftw/YCSB that referenced this pull request Jul 19, 2016

[cassandra] Added support for Cassandra CQL binding.
This includes changes to main pom for the v1.2.9 cassandra driver.

closes #145

jaricftw pushed a commit to jaricftw/YCSB that referenced this pull request Jul 19, 2016

[cassandra] Added support for Cassandra CQL binding.
This includes changes to main pom for the v1.2.9 cassandra driver.

closes #145
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment