incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Edward Capriolo <edlinuxg...@gmail.com>
Subject Re: Java high-level client
Date Tue, 27 Nov 2012 16:57:48 GMT
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
<mkjellman@barracuda.com>wrote:

> Netflix has a great client
>
> https://github.com/Netflix/astyanax
>
> On 11/27/12 7:40 AM, "Peter Lin" <woolfel@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
> ><schnober@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
>
>
>
>
>

Mime
View raw message