You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Carsten Schnober <sc...@ids-mannheim.de> on 2012/11/27 16:36:57 UTC

Java high-level client

Hi,
I'm aware that this has been a frequent question, but answers are still
hard to find: what's an appropriate Java high-level client?
I actually believe that the lack of a single maintained Java API that is
packaged with Cassandra is quite an issue. The way the situation is
right now, new users have to pick more or less randomly one of the
available options from the Cassandra Wiki and find a suitable solution
for their individual requirements through trial implementations. This
can cause and lot of wasted time (and frustration).

Personally, I've played with Hector before figuring out that it seems to
require an outdated Thrift version. Downgrading to Thrift 0.6 is not an
option for me though because I use Thrift 0.9.0 in other classes of the
same project.
So I've had a look at Kundera and at Easy-Cassandra. Both seem to lack a
real documentation beyond the examples available in their Github
repositories, right?

Can more experienced users recommend either one of the two or some of
the other options listed at the Cassandra Wiki? I know that this
strongly depends on individual requirements, but all I need are simple
requests for very basic queries. So I would like to emphasize the
importance a clear documentation and a stable and well-maintained API.
Any hints?
Thanks!
Carsten

-- 
Institut für Deutsche Sprache | http://www.ids-mannheim.de
Projekt KorAP                 | http://korap.ids-mannheim.de
Tel. +49-(0)621-43740789      | schnober@ids-mannheim.de
Korpusanalyseplattform der nächsten Generation
Next Generation Corpus Analysis Platform

Re: Hector (was: Java high-level client)

Posted by Peter Lin <wo...@gmail.com>.
I could be wrong, but the most recent release is against cassandra 1.0.x

master tracks against cassandra 1.1.x

I've contributed a few patches related to CQL3 the last few weeks and
master seems stable to me. for the record, I don't work for DataStax
so it's just my opinion. I needed the functionality, so I made the
changes and contributed back to hector.


On Tue, Nov 27, 2012 at 11:06 AM, Carsten Schnober
<sc...@ids-mannheim.de> wrote:
> Am 27.11.2012 16:40, schrieb Peter Lin:
>
> Hi Peter,
> thanks for your prompt reply!
>
>> I use hector-client master, which is pretty stable right now.
>
> Please excuse my ignorance, but just to be sure I'd like to ask: does
> "hector-client master" differ from the Hector client linked from the
> Cassandra Wiki
> (http://hector-client.github.com/hector/build/html/index.html)?
>
>> It uses the latest thrift, so you can use hector with thrift 0.9.0.
>> That's assuming you don't mind using the active development branch.
>
> In fact, I would prefer a stable version, but I could live with that for
> the time being. However, the homepage does not speak very clearly about
> versions and the most recent one I could find in the Git repository is
> 1.0-5. It does not look like a development branch, but it's hard to tell.
>
> Regarding Thrift, I've just assumed that this is where the problem lies
> because I get an IncompatibleClassChangeError exception upon querying
> the database. According to [1], this could be due to different Thrift
> versions.
>
> Best,
> Carsten
>
> [1]
> https://groups.google.com/forum/?fromgroups=#!topic/hector-users/wrab7Yxms18
>
>
> --
> Institut für Deutsche Sprache | http://www.ids-mannheim.de
> Projekt KorAP                 | http://korap.ids-mannheim.de
> Tel. +49-(0)621-43740789      | schnober@ids-mannheim.de
> Korpusanalyseplattform der nächsten Generation
> Next Generation Corpus Analysis Platform

Re: Hector (was: Java high-level client)

Posted by Carsten Schnober <sc...@ids-mannheim.de>.
Am 27.11.2012 16:40, schrieb Peter Lin:

Hi Peter,
thanks for your prompt reply!

> I use hector-client master, which is pretty stable right now.

Please excuse my ignorance, but just to be sure I'd like to ask: does
"hector-client master" differ from the Hector client linked from the
Cassandra Wiki
(http://hector-client.github.com/hector/build/html/index.html)?

> It uses the latest thrift, so you can use hector with thrift 0.9.0.
> That's assuming you don't mind using the active development branch.

In fact, I would prefer a stable version, but I could live with that for
the time being. However, the homepage does not speak very clearly about
versions and the most recent one I could find in the Git repository is
1.0-5. It does not look like a development branch, but it's hard to tell.

Regarding Thrift, I've just assumed that this is where the problem lies
because I get an IncompatibleClassChangeError exception upon querying
the database. According to [1], this could be due to different Thrift
versions.

Best,
Carsten

[1]
https://groups.google.com/forum/?fromgroups=#!topic/hector-users/wrab7Yxms18


-- 
Institut für Deutsche Sprache | http://www.ids-mannheim.de
Projekt KorAP                 | http://korap.ids-mannheim.de
Tel. +49-(0)621-43740789      | schnober@ids-mannheim.de
Korpusanalyseplattform der nächsten Generation
Next Generation Corpus Analysis Platform

Re: Java high-level client

Posted by Vivek Mishra <mi...@gmail.com>.
So I've had a look at Kundera and at Easy-Cassandra. Both seem to lack a
real documentation beyond the examples available in their Github
repositories, right?

<Vivek> Could you please share what exactly you looking for documentation
and not present. I suggest you to join
http://groups.google.com/group/kundera-discuss/subscribe to discuss more on
this. </Vivek>
On Tue, Nov 27, 2012 at 9:40 PM, Michael Kjellman
<mk...@barracuda.com>wrote:

> Netflix has a great client
>
> https://github.com/Netflix/astyanax
>
> On 11/27/12 7:40 AM, "Peter Lin" <wo...@gmail.com> wrote:
>
> >I use hector-client master, which is pretty stable right now.
> >
> >It uses the latest thrift, so you can use hector with thrift 0.9.0.
> >That's assuming you don't mind using the active development branch.
> >
> >
> >
> >On Tue, Nov 27, 2012 at 10:36 AM, Carsten Schnober
> ><sc...@ids-mannheim.de> wrote:
> >> Hi,
> >> I'm aware that this has been a frequent question, but answers are still
> >> hard to find: what's an appropriate Java high-level client?
> >> I actually believe that the lack of a single maintained Java API that is
> >> packaged with Cassandra is quite an issue. The way the situation is
> >> right now, new users have to pick more or less randomly one of the
> >> available options from the Cassandra Wiki and find a suitable solution
> >> for their individual requirements through trial implementations. This
> >> can cause and lot of wasted time (and frustration).
> >>
> >> Personally, I've played with Hector before figuring out that it seems to
> >> require an outdated Thrift version. Downgrading to Thrift 0.6 is not an
> >> option for me though because I use Thrift 0.9.0 in other classes of the
> >> same project.
> >> So I've had a look at Kundera and at Easy-Cassandra. Both seem to lack a
> >> real documentation beyond the examples available in their Github
> >> repositories, right?
> >>
> >> Can more experienced users recommend either one of the two or some of
> >> the other options listed at the Cassandra Wiki? I know that this
> >> strongly depends on individual requirements, but all I need are simple
> >> requests for very basic queries. So I would like to emphasize the
> >> importance a clear documentation and a stable and well-maintained API.
> >> Any hints?
> >> Thanks!
> >> Carsten
> >>
> >> --
> >> Institut für Deutsche Sprache | http://www.ids-mannheim.de
> >> Projekt KorAP                 | http://korap.ids-mannheim.de
> >> Tel. +49-(0)621-43740789      | schnober@ids-mannheim.de
> >> Korpusanalyseplattform der nächsten Generation
> >> Next Generation Corpus Analysis Platform
>
>
> 'Like' us on Facebook for exclusive content and other resources on all
> Barracuda Networks solutions.
>
> Visit http://barracudanetworks.com/facebook
>
>
>
>
>

Re: Java high-level client

Posted by David Schairer <ds...@humbaba.net>.
Well, not really.  Astyanax ('astu-wanax' in mycenaean greek, 'lord of the city') has his brains dashed out against the walls of troy by Neoptolemus, son of Achilles.  So the suck was universal.  

--DRS, possibly the only trained classicist using big cassandra databases :)

On Nov 28, 2012, at 12:19 PM, Wei Zhu <wz...@yahoo.com> wrote:

> Astyanax was the son of Hector who was Cassandra's brother in greek mythology.
> So son is doing better than the father:)
> 
> -Wei
> 
> From: Michael Kjellman <mk...@barracuda.com>
> To: "user@cassandra.apache.org" <us...@cassandra.apache.org> 
> Sent: Wednesday, November 28, 2012 11:51 AM
> Subject: Re: Java high-level client
> 
> Lots of example code, nice api, good performance as the first things that come to mind why I like Astyanax better than Hector
> 
> From: Andrey Ilinykh <ai...@gmail.com>
> Reply-To: "user@cassandra.apache.org" <us...@cassandra.apache.org>
> Date: Wednesday, November 28, 2012 11:49 AM
> To: "user@cassandra.apache.org" <us...@cassandra.apache.org>, Wei Zhu <wz...@yahoo.com>
> Subject: Re: Java high-level client
> 
> First at all, it is backed by Netflix. They used it production for long time, so it is pretty solid. Also they have nice tool (Priam) which makes cassandra cloud (AWS) friendly. This is important for us.
> 
> Andrey 
> 
> 
> On Wed, Nov 28, 2012 at 11:53 AM, Wei Zhu <wz...@yahoo.com> wrote:
> We are using Hector now. What is the major advantage of astyanax over Hector?
> 
> Thanks.
> -Wei
> 
> From: Andrey Ilinykh <ai...@gmail.com>
> To: user@cassandra.apache.org 
> Sent: Wednesday, November 28, 2012 9:37 AM
> 
> Subject: Re: Java high-level client
> 
> +1
> 
> 
> On Tue, Nov 27, 2012 at 10:10 AM, Michael Kjellman <mk...@barracuda.com> wrote:
> Netflix has a great client
> 
> https://github.com/Netflix/astyanax
> 
> 
> 
> 
> 
> ---------------------------------- 
> 'Like' us on Facebook for exclusive content and other resources on all Barracuda Networks solutions.
> Visit http://barracudanetworks.com/facebook
>   ­­  
> 
> 


Re: Java high-level client

Posted by Wei Zhu <wz...@yahoo.com>.
Astyanax was the son of Hector who was Cassandra's brother in greek mythology.

So son is doing better than the father:)

-Wei



________________________________
 From: Michael Kjellman <mk...@barracuda.com>
To: "user@cassandra.apache.org" <us...@cassandra.apache.org> 
Sent: Wednesday, November 28, 2012 11:51 AM
Subject: Re: Java high-level client
 

Lots of example code, nice api, good performance as the first things that come to mind why I like Astyanax better than Hector
From:  Andrey Ilinykh <ai...@gmail.com>
Reply-To:  "user@cassandra.apache.org" <us...@cassandra.apache.org>
Date:  Wednesday, November 28, 2012 11:49 AM
To:  "user@cassandra.apache.org" <us...@cassandra.apache.org>, Wei Zhu <wz...@yahoo.com>
Subject:  Re: Java high-level client


First at all, it is backed by Netflix. They used it production for long time, so it is pretty solid. Also they have nice tool (Priam) which makes cassandra cloud (AWS) friendly. This is important for us. 

Andrey 



On Wed, Nov 28, 2012 at 11:53 AM, Wei Zhu <wz...@yahoo.com> wrote:

We are using Hector now. What is the major advantage of astyanax over Hector?
>
>
>Thanks.
>-Wei
>
>
>
>________________________________
>From: Andrey Ilinykh <ai...@gmail.com>
>To: user@cassandra.apache.org 
>Sent: Wednesday, November 28, 2012 9:37 AM 
>
>Subject: Re: Java high-level client
>
>
>
>+1 
>
>
>
>On Tue, Nov 27, 2012 at 10:10 AM, Michael Kjellman <mk...@barracuda.com> wrote:
>
>Netflix has a great client
>>
>>https://github.com/Netflix/astyanax
>>
>>
>>
>
>


---------------------------------- 
'Like' us on Facebook for exclusive content and other resources on all Barracuda Networks solutions.
Visit http://barracudanetworks.com/facebook 
  ­­  

Re: Java high-level client

Posted by Michael Kjellman <mk...@barracuda.com>.
CQL Datastax Java Driver for the win then...

On Nov 28, 2012, at 12:25 PM, "Edward Capriolo" <ed...@gmail.com>> wrote:

Astyanax is a hector fork. You can see many of the hector' authors comments still in the astyanax code. There is some nice stuff in there but (IMHO) I do not see the fork as necessary. It has split up the community a bit, as there are now 3 high level Java clients.

I would advice follow Josh's advice  http://www.youtube.com/watch?v=nPG4sK_glls . Go to reddit and select whatever sexy technology is new and trending :)


On Wed, Nov 28, 2012 at 2:51 PM, Michael Kjellman <mk...@barracuda.com>> wrote:
Lots of example code, nice api, good performance as the first things that come to mind why I like Astyanax better than Hector

From: Andrey Ilinykh <ai...@gmail.com>>
Reply-To: "user@cassandra.apache.org<ma...@cassandra.apache.org>" <us...@cassandra.apache.org>>
Date: Wednesday, November 28, 2012 11:49 AM
To: "user@cassandra.apache.org<ma...@cassandra.apache.org>" <us...@cassandra.apache.org>>, Wei Zhu <wz...@yahoo.com>>
Subject: Re: Java high-level client

First at all, it is backed by Netflix. They used it production for long time, so it is pretty solid. Also they have nice tool (Priam) which makes cassandra cloud (AWS) friendly. This is important for us.

Andrey


On Wed, Nov 28, 2012 at 11:53 AM, Wei Zhu <wz...@yahoo.com>> wrote:
We are using Hector now. What is the major advantage of astyanax over Hector?

Thanks.
-Wei

________________________________
From: Andrey Ilinykh <ai...@gmail.com>>
To: user@cassandra.apache.org<ma...@cassandra.apache.org>
Sent: Wednesday, November 28, 2012 9:37 AM

Subject: Re: Java high-level client

+1


On Tue, Nov 27, 2012 at 10:10 AM, Michael Kjellman <mk...@barracuda.com>> wrote:
Netflix has a great client

https://github.com/Netflix/astyanax





----------------------------------
'Like' us on Facebook for exclusive content and other resources on all Barracuda Networks solutions.
Visit http://barracudanetworks.com/facebook
  ­­


'Like' us on Facebook for exclusive content and other resources on all Barracuda Networks solutions.
Visit http://barracudanetworks.com/facebook



Re: Java high-level client

Posted by Edward Capriolo <ed...@gmail.com>.
Astyanax is a hector fork. You can see many of the hector' authors comments
still in the astyanax code. There is some nice stuff in there but (IMHO) I
do not see the fork as necessary. It has split up the community a bit, as
there are now 3 high level Java clients.

I would advice follow Josh's advice
http://www.youtube.com/watch?v=nPG4sK_glls . Go to reddit and select
whatever sexy technology is new and trending :)


On Wed, Nov 28, 2012 at 2:51 PM, Michael Kjellman
<mk...@barracuda.com>wrote:

> Lots of example code, nice api, good performance as the first things that
> come to mind why I like Astyanax better than Hector
>
> From: Andrey Ilinykh <ai...@gmail.com>
> Reply-To: "user@cassandra.apache.org" <us...@cassandra.apache.org>
> Date: Wednesday, November 28, 2012 11:49 AM
> To: "user@cassandra.apache.org" <us...@cassandra.apache.org>, Wei Zhu <
> wz1975@yahoo.com>
> Subject: Re: Java high-level client
>
> First at all, it is backed by Netflix. They used it production for long
> time, so it is pretty solid. Also they have nice tool (Priam) which makes
> cassandra cloud (AWS) friendly. This is important for us.
>
> Andrey
>
>
> On Wed, Nov 28, 2012 at 11:53 AM, Wei Zhu <wz...@yahoo.com> wrote:
>
>> We are using Hector now. What is the major advantage of astyanax over
>> Hector?
>>
>> Thanks.
>> -Wei
>>
>> ------------------------------
>> *From:* Andrey Ilinykh <ai...@gmail.com>
>> *To:* user@cassandra.apache.org
>> *Sent:* Wednesday, November 28, 2012 9:37 AM
>>
>> *Subject:* Re: Java high-level client
>>
>> +1
>>
>>
>> On Tue, Nov 27, 2012 at 10:10 AM, Michael Kjellman <
>> mkjellman@barracuda.com> wrote:
>>
>> Netflix has a great client
>>
>> https://github.com/Netflix/astyanax
>>
>>
>>
>>
>
> ----------------------------------
> 'Like' us on Facebook for exclusive content and other resources on all
> Barracuda Networks solutions.
> Visit http://barracudanetworks.com/facebook
>   ­­
>

Re: Java high-level client

Posted by Michael Kjellman <mk...@barracuda.com>.
Lots of example code, nice api, good performance as the first things that come to mind why I like Astyanax better than Hector

From: Andrey Ilinykh <ai...@gmail.com>>
Reply-To: "user@cassandra.apache.org<ma...@cassandra.apache.org>" <us...@cassandra.apache.org>>
Date: Wednesday, November 28, 2012 11:49 AM
To: "user@cassandra.apache.org<ma...@cassandra.apache.org>" <us...@cassandra.apache.org>>, Wei Zhu <wz...@yahoo.com>>
Subject: Re: Java high-level client

First at all, it is backed by Netflix. They used it production for long time, so it is pretty solid. Also they have nice tool (Priam) which makes cassandra cloud (AWS) friendly. This is important for us.

Andrey


On Wed, Nov 28, 2012 at 11:53 AM, Wei Zhu <wz...@yahoo.com>> wrote:
We are using Hector now. What is the major advantage of astyanax over Hector?

Thanks.
-Wei

________________________________
From: Andrey Ilinykh <ai...@gmail.com>>
To: user@cassandra.apache.org<ma...@cassandra.apache.org>
Sent: Wednesday, November 28, 2012 9:37 AM

Subject: Re: Java high-level client

+1


On Tue, Nov 27, 2012 at 10:10 AM, Michael Kjellman <mk...@barracuda.com>> wrote:
Netflix has a great client

https://github.com/Netflix/astyanax





'Like' us on Facebook for exclusive content and other resources on all Barracuda Networks solutions.
Visit http://barracudanetworks.com/facebook



Re: Java high-level client

Posted by Andrey Ilinykh <ai...@gmail.com>.
First at all, it is backed by Netflix. They used it production for long
time, so it is pretty solid. Also they have nice tool (Priam) which makes
cassandra cloud (AWS) friendly. This is important for us.

Andrey


On Wed, Nov 28, 2012 at 11:53 AM, Wei Zhu <wz...@yahoo.com> wrote:

> We are using Hector now. What is the major advantage of astyanax over
> Hector?
>
> Thanks.
> -Wei
>
>   ------------------------------
> *From:* Andrey Ilinykh <ai...@gmail.com>
> *To:* user@cassandra.apache.org
> *Sent:* Wednesday, November 28, 2012 9:37 AM
>
> *Subject:* Re: Java high-level client
>
> +1
>
>
> On Tue, Nov 27, 2012 at 10:10 AM, Michael Kjellman <
> mkjellman@barracuda.com> wrote:
>
> Netflix has a great client
>
> https://github.com/Netflix/astyanax
>
>
>
>

Re: Java high-level client

Posted by Peter Lin <wo...@gmail.com>.
One thing to consider is hector-client master supports bigdecimal,
reversed type and other CQL3 features.

I don't use astyanax, so I didn't bother contributing the changes to them.

If you don't use CQL and don't really care, they're functionally equal
in my bias opinion. If you do use CQL2 or CQL3, hector-client's master
gives those features.


On Wed, Nov 28, 2012 at 12:53 PM, Wei Zhu <wz...@yahoo.com> wrote:
> We are using Hector now. What is the major advantage of astyanax over
> Hector?
>
> Thanks.
> -Wei
>
> ________________________________
> From: Andrey Ilinykh <ai...@gmail.com>
> To: user@cassandra.apache.org
> Sent: Wednesday, November 28, 2012 9:37 AM
>
> Subject: Re: Java high-level client
>
> +1
>
>
> On Tue, Nov 27, 2012 at 10:10 AM, Michael Kjellman <mk...@barracuda.com>
> wrote:
>
> Netflix has a great client
>
> https://github.com/Netflix/astyanax
>
>
>

Re: Java high-level client

Posted by Wei Zhu <wz...@yahoo.com>.
We are using Hector now. What is the major advantage of astyanax over Hector?

Thanks.
-Wei


________________________________
 From: Andrey Ilinykh <ai...@gmail.com>
To: user@cassandra.apache.org 
Sent: Wednesday, November 28, 2012 9:37 AM
Subject: Re: Java high-level client
 

+1



On Tue, Nov 27, 2012 at 10:10 AM, Michael Kjellman <mk...@barracuda.com> wrote:

Netflix has a great client
>
>https://github.com/Netflix/astyanax
>
>
>

Re: Java high-level client

Posted by Andrey Ilinykh <ai...@gmail.com>.
+1


On Tue, Nov 27, 2012 at 10:10 AM, Michael Kjellman
<mk...@barracuda.com>wrote:

> Netflix has a great client
>
> https://github.com/Netflix/astyanax
>
>

Re: Java high-level client

Posted by Wei Zhu <wz...@yahoo.com>.
FYI,
We are using Hector 1.0-5 which comes with cassandra-thrift 1.09 -> libthrift 0.6.1. It can work with Cassandra 1.1.6.
Totally agree it's a pain to deal with different version of libthrift. We use scribe for logging, a bit messy over there.

Thanks.
-Wei


________________________________
 From: Edward Capriolo <ed...@gmail.com>
To: user@cassandra.apache.org 
Sent: Tuesday, November 27, 2012 8:57 AM
Subject: Re: Java high-level client
 

Hector does not require an outdated version of thift, you are likely using an outdated version of hector. 

Here is the long and short of it: If the thrift thrift API changes then hector can have compatibility issues. This happens from time to time. The main methods like get() and insert() have remained the same, but the CFMetaData objects have changed. (this causes the incompatible class stuff you are seeing).


CQLhas a different version of the same problem, the CQL syntax is version-ed. For example, if you try to execute a CQL3 query as a CQL2query it will likely fail. 

In the end your code still has to be version aware. With hector you get a compile time problem, with pure CQL you get a runtime problem.

I have always had the opinion the project should have shipped hector with Cassandra, this would have made it obvious what version is likely to work. 

The new CQL transport client is not being shipped with Cassandra either, so you will still have to match up the versions. Although they should be largely compatible some time in the near or far future one of the clients probably wont work with one of the servers.

Edward


On Tue, Nov 27, 2012 at 11:10 AM, Michael Kjellman <mk...@barracuda.com> wrote:

Netflix has a great client
>
>https://github.com/Netflix/astyanax
>
>On 11/27/12 7:40 AM, "Peter Lin" <wo...@gmail.com> wrote:
>
>>I use hector-client master, which is pretty stable right now.
>>
>>It uses the latest thrift, so you can use hector with thrift 0.9.0.
>>That's assuming you don't mind using the active development branch.
>>
>>
>>
>>On Tue, Nov 27, 2012 at 10:36 AM, Carsten Schnober
>><sc...@ids-mannheim.de> wrote:
>>> Hi,
>>> I'm aware that this has been a frequent question, but answers are still
>>> hard to find: what's an appropriate Java high-level client?
>>> I actually believe that the lack of a single maintained Java API that is
>>> packaged with Cassandra is quite an issue. The way the situation is
>>> right now, new users have to pick more or less randomly one of the
>>> available options from the Cassandra Wiki and find a suitable solution
>>> for their individual requirements through trial implementations. This
>>> can cause and lot of wasted time (and frustration).
>>>
>>> Personally, I've played with Hector before figuring out that it seems to
>>> require an outdated Thrift version. Downgrading to Thrift 0.6 is not an
>>> option for me though because I use Thrift 0.9.0 in other classes of the
>>> same project.
>>> So I've had a look at Kundera and at Easy-Cassandra. Both seem to lack a
>>> real documentation beyond the examples available in their Github
>>> repositories, right?
>>>
>>> Can more experienced users recommend either one of the two or some of
>>> the other options listed at the Cassandra Wiki? I know that this
>>> strongly depends on individual requirements, but all I need are simple
>>> requests for very basic queries. So I would like to emphasize the
>>> importance a clear documentation and a stable and well-maintained API.
>>> Any hints?
>>> Thanks!
>>> Carsten
>>>
>>> --
>>> Institut für Deutsche Sprache | http://www.ids-mannheim.de
>>> Projekt KorAP                 | http://korap.ids-mannheim.de
>>> Tel. +49-(0)621-43740789      | schnober@ids-mannheim.de
>>> Korpusanalyseplattform der nächsten Generation
>>> Next Generation Corpus Analysis Platform
>
>
>'Like' us on Facebook for exclusive content and other resources on all Barracuda Networks solutions.
>
>Visit http://barracudanetworks.com/facebook
>
>
>
>
>

Re: Java high-level client

Posted by Edward Capriolo <ed...@gmail.com>.
Hector does not require an outdated version of thift, you are likely using
an outdated version of hector.

Here is the long and short of it: If the thrift thrift API changes then
hector can have compatibility issues. This happens from time to time. The
main methods like get() and insert() have remained the same, but the
CFMetaData objects have changed. (this causes the incompatible class stuff
you are seeing).

CQLhas a different version of the same problem, the CQL syntax is
version-ed. For example, if you try to execute a CQL3 query as a CQL2query
it will likely fail.

In the end your code still has to be version aware. With hector you get a
compile time problem, with pure CQL you get a runtime problem.

I have always had the opinion the project should have shipped hector with
Cassandra, this would have made it obvious what version is likely to work.

The new CQL transport client is not being shipped with Cassandra either, so
you will still have to match up the versions. Although they should be
largely compatible some time in the near or far future one of the clients
probably wont work with one of the servers.

Edward


On Tue, Nov 27, 2012 at 11:10 AM, Michael Kjellman
<mk...@barracuda.com>wrote:

> Netflix has a great client
>
> https://github.com/Netflix/astyanax
>
> On 11/27/12 7:40 AM, "Peter Lin" <wo...@gmail.com> wrote:
>
> >I use hector-client master, which is pretty stable right now.
> >
> >It uses the latest thrift, so you can use hector with thrift 0.9.0.
> >That's assuming you don't mind using the active development branch.
> >
> >
> >
> >On Tue, Nov 27, 2012 at 10:36 AM, Carsten Schnober
> ><sc...@ids-mannheim.de> wrote:
> >> Hi,
> >> I'm aware that this has been a frequent question, but answers are still
> >> hard to find: what's an appropriate Java high-level client?
> >> I actually believe that the lack of a single maintained Java API that is
> >> packaged with Cassandra is quite an issue. The way the situation is
> >> right now, new users have to pick more or less randomly one of the
> >> available options from the Cassandra Wiki and find a suitable solution
> >> for their individual requirements through trial implementations. This
> >> can cause and lot of wasted time (and frustration).
> >>
> >> Personally, I've played with Hector before figuring out that it seems to
> >> require an outdated Thrift version. Downgrading to Thrift 0.6 is not an
> >> option for me though because I use Thrift 0.9.0 in other classes of the
> >> same project.
> >> So I've had a look at Kundera and at Easy-Cassandra. Both seem to lack a
> >> real documentation beyond the examples available in their Github
> >> repositories, right?
> >>
> >> Can more experienced users recommend either one of the two or some of
> >> the other options listed at the Cassandra Wiki? I know that this
> >> strongly depends on individual requirements, but all I need are simple
> >> requests for very basic queries. So I would like to emphasize the
> >> importance a clear documentation and a stable and well-maintained API.
> >> Any hints?
> >> Thanks!
> >> Carsten
> >>
> >> --
> >> Institut für Deutsche Sprache | http://www.ids-mannheim.de
> >> Projekt KorAP                 | http://korap.ids-mannheim.de
> >> Tel. +49-(0)621-43740789      | schnober@ids-mannheim.de
> >> Korpusanalyseplattform der nächsten Generation
> >> Next Generation Corpus Analysis Platform
>
>
> 'Like' us on Facebook for exclusive content and other resources on all
> Barracuda Networks solutions.
>
> Visit http://barracudanetworks.com/facebook
>
>
>
>
>

Re: Java high-level client

Posted by Michael Kjellman <mk...@barracuda.com>.
Netflix has a great client

https://github.com/Netflix/astyanax

On 11/27/12 7:40 AM, "Peter Lin" <wo...@gmail.com> wrote:

>I use hector-client master, which is pretty stable right now.
>
>It uses the latest thrift, so you can use hector with thrift 0.9.0.
>That's assuming you don't mind using the active development branch.
>
>
>
>On Tue, Nov 27, 2012 at 10:36 AM, Carsten Schnober
><sc...@ids-mannheim.de> wrote:
>> Hi,
>> I'm aware that this has been a frequent question, but answers are still
>> hard to find: what's an appropriate Java high-level client?
>> I actually believe that the lack of a single maintained Java API that is
>> packaged with Cassandra is quite an issue. The way the situation is
>> right now, new users have to pick more or less randomly one of the
>> available options from the Cassandra Wiki and find a suitable solution
>> for their individual requirements through trial implementations. This
>> can cause and lot of wasted time (and frustration).
>>
>> Personally, I've played with Hector before figuring out that it seems to
>> require an outdated Thrift version. Downgrading to Thrift 0.6 is not an
>> option for me though because I use Thrift 0.9.0 in other classes of the
>> same project.
>> So I've had a look at Kundera and at Easy-Cassandra. Both seem to lack a
>> real documentation beyond the examples available in their Github
>> repositories, right?
>>
>> Can more experienced users recommend either one of the two or some of
>> the other options listed at the Cassandra Wiki? I know that this
>> strongly depends on individual requirements, but all I need are simple
>> requests for very basic queries. So I would like to emphasize the
>> importance a clear documentation and a stable and well-maintained API.
>> Any hints?
>> Thanks!
>> Carsten
>>
>> --
>> Institut für Deutsche Sprache | http://www.ids-mannheim.de
>> Projekt KorAP                 | http://korap.ids-mannheim.de
>> Tel. +49-(0)621-43740789      | schnober@ids-mannheim.de
>> Korpusanalyseplattform der nächsten Generation
>> Next Generation Corpus Analysis Platform


'Like' us on Facebook for exclusive content and other resources on all Barracuda Networks solutions.
Visit http://barracudanetworks.com/facebook



Re: Java high-level client

Posted by Peter Lin <wo...@gmail.com>.
I use hector-client master, which is pretty stable right now.

It uses the latest thrift, so you can use hector with thrift 0.9.0.
That's assuming you don't mind using the active development branch.



On Tue, Nov 27, 2012 at 10:36 AM, Carsten Schnober
<sc...@ids-mannheim.de> wrote:
> Hi,
> I'm aware that this has been a frequent question, but answers are still
> hard to find: what's an appropriate Java high-level client?
> I actually believe that the lack of a single maintained Java API that is
> packaged with Cassandra is quite an issue. The way the situation is
> right now, new users have to pick more or less randomly one of the
> available options from the Cassandra Wiki and find a suitable solution
> for their individual requirements through trial implementations. This
> can cause and lot of wasted time (and frustration).
>
> Personally, I've played with Hector before figuring out that it seems to
> require an outdated Thrift version. Downgrading to Thrift 0.6 is not an
> option for me though because I use Thrift 0.9.0 in other classes of the
> same project.
> So I've had a look at Kundera and at Easy-Cassandra. Both seem to lack a
> real documentation beyond the examples available in their Github
> repositories, right?
>
> Can more experienced users recommend either one of the two or some of
> the other options listed at the Cassandra Wiki? I know that this
> strongly depends on individual requirements, but all I need are simple
> requests for very basic queries. So I would like to emphasize the
> importance a clear documentation and a stable and well-maintained API.
> Any hints?
> Thanks!
> Carsten
>
> --
> Institut für Deutsche Sprache | http://www.ids-mannheim.de
> Projekt KorAP                 | http://korap.ids-mannheim.de
> Tel. +49-(0)621-43740789      | schnober@ids-mannheim.de
> Korpusanalyseplattform der nächsten Generation
> Next Generation Corpus Analysis Platform

Re: Java high-level client

Posted by "Hiller, Dean" <De...@nrel.gov>.
I am biased of course but you can find plenty of documentation on playorm
here

https://github.com/deanhiller/playorm/wiki


It uses astyanax because of the better node knowledge.  Also feel free to
post questions on stackoverflow as we heavily monitor stack overflow and
are notified every hour of new posts with playorm tags.

A full feature list is located here

https://github.com/deanhiller/playorm#playorm-feature-list


Later,
Dean

On 11/27/12 8:36 AM, "Carsten Schnober" <sc...@ids-mannheim.de> wrote:

>Hi,
>I'm aware that this has been a frequent question, but answers are still
>hard to find: what's an appropriate Java high-level client?
>I actually believe that the lack of a single maintained Java API that is
>packaged with Cassandra is quite an issue. The way the situation is
>right now, new users have to pick more or less randomly one of the
>available options from the Cassandra Wiki and find a suitable solution
>for their individual requirements through trial implementations. This
>can cause and lot of wasted time (and frustration).
>
>Personally, I've played with Hector before figuring out that it seems to
>require an outdated Thrift version. Downgrading to Thrift 0.6 is not an
>option for me though because I use Thrift 0.9.0 in other classes of the
>same project.
>So I've had a look at Kundera and at Easy-Cassandra. Both seem to lack a
>real documentation beyond the examples available in their Github
>repositories, right?
>
>Can more experienced users recommend either one of the two or some of
>the other options listed at the Cassandra Wiki? I know that this
>strongly depends on individual requirements, but all I need are simple
>requests for very basic queries. So I would like to emphasize the
>importance a clear documentation and a stable and well-maintained API.
>Any hints?
>Thanks!
>Carsten
>
>-- 
>Institut für Deutsche Sprache | http://www.ids-mannheim.de
>Projekt KorAP                 | http://korap.ids-mannheim.de
>Tel. +49-(0)621-43740789      | schnober@ids-mannheim.de
>Korpusanalyseplattform der nächsten Generation
>Next Generation Corpus Analysis Platform