incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Colchete <d...@cloud3.tc>
Subject Re: Cassandra Clients for Java
Date Wed, 22 Jun 2011 12:57:05 GMT
Thank you Vivek. I'll start playing with the clients today. Thank you very
much!

Best,
Daniel

On Tue, Jun 21, 2011 at 9:33 AM, Vivek Mishra <vivek.mishra@impetus.co.in>wrote:

>  Hi Daniel,
>
> Just saw your email regarding kundera download.
>
>
>
> Kundera snapshot jar is available at:
>
>
>
>
> http://kundera.googlecode.com/svn/maven2/maven-missing-resources/com/impetus/kundera/1.1.1-SNAPSHOT/
>
>
>
> In addition,
>
> If you want to download source code then it is at:
>
>
>
> https://github.com/impetus-opensource/Kundera
>
>
>
> You could also refer to Kundera-examples for reference at:
>
>
>
> https://github.com/impetus-opensource/Kundera-Examples
>
>
>
> I hope it helps.
>
>
>
>
>
> *From:* Daniel Colchete [mailto:dani@cloud3.tc]
> *Sent:* Monday, June 20, 2011 8:23 PM
> *To:* user@cassandra.apache.org
> *Subject:* Re: Cassandra Clients for Java
>
>
>
> Thank you all for your answers! It hard to tell the good projects from the
> not so good projects and it seems that the choice is really between Hector
> and Pelops. On average, most of the people are using Hector or Pelops and
> most of the names starts with Da (sorry, couldn't help :)).
>
>
>
> Dan Washusen asked to comment more regarding Hector's e Pelops' APIs. Lets
> start with what cassandra gives us: get, insert, remove for simple
> operations; get_slice to read an entire row (or something like that);
> multiget_slice and batch_mutate for reading or writing multiple data with a
> single call. So we could start from this and we would be speaking
> Cassandra-nease. One CassandraClient class exporting all those methods, with
> the necessary model classes on the package.
>
>
>
> All of those methods have small details we don't want to have to work out
> every time, like timestamp (now is a perfect default value), consistency
> level (the client could have default values) and string encoding (UTF8 could
> be a default, but the CassandraClient and the model classes should handle it
> themselves). So, at this point we would have an API similar to Thrift's but
> a little less boring to use.
>
>
>
> With this API we could do failover, load balancing, auto node discovery,
> and still be speaking Cassandra-nease.
>
>
>
> But them writing methods to read from Cassandra to create models and to
> persist models would be a pretty time wasting task. So them we would move to
> an JPA implementation doing this automagically, like Hector did (thanks for
> showing this up). The JPA implementation (I have no idea how to write
> something like this, although I would like to learn), would use our
> simplified thrift-like interface.
>
>
>
> In the end: no third semantics, still have direct access to Cassandra to
> deal with special cases and for most of the cases you have JPA, still have
> failover and load balancing. How many dependencies do we need besides what
> Cassandra already requires: zero. Simple, powerful. I agree that I'm not
> showing a proof-of-concept or anything but it is a good starting vision for
> a client. Of course there are corner cases and details to work out but, what
> do you think?
>
>
>
> With Hector, from their Getting Started page, first you initialize a
> Cluster, them you create a Keyspace from that cluster, them, wait, you have
> to create a template for your column family. With that template you can
> create an updater to do an insert (in Cassandra-nease), or you can query
> columns to do an get_slice (in Cassandra-nease), or delete column to do a
> remove (in Cassandra-nease). You can clearly see a third semantics here.
>
>
>
> With Pelops their documentation on their main website (at GitHub) seems
> very lacking and I couldn't understand if you have to create a mutator to
> every write or not and why they assigned strings and not objects to organize
> connections. They have this pool thing related to the fact that they use
> strings to organize connections.
>
>
>
> In the end I think Hector should be a better choice because of their JPA
> implementation and because Pelops doesn't seem to have documentation. Thanks
> again for showing the JPA thing up, I really couldn't find anything linking
> to it. Not even their User guide.
>
>
>
> Thank you very much for all for the answers.
>
>
>
> Best,
>
> Dani
>
>
>
> On Sat, Jun 18, 2011 at 4:04 PM, Rajesh Koilpillai <
> rajesh.koilpillai@gmail.com> wrote:
>
> +1 to Hector (especially with the changes made in the latest version of
> their API)
>
>
>
> On Sun, Jun 19, 2011 at 12:01 AM, Steve Willcox <swillcox@rallydev.com>
> wrote:
>
> I'm using Hector.
>
>
>
> The main contributor Nate McCall is very active and responsive to any
> issues. The Hector community is very active.
>
>
>
>  I've been using Java for a long time and I disagree that the client is
> more complex than the underlying Thrift client. The latest version of Hector
> has made large gains in simplifying the API. It has connection caching, load
> balancing and failover build into its client.
>
>
>
> I found it easy to use and stable. My code has been in production since
> April 2011 and we've not had one Hector issue yet.
>
>
>
> Hope that helps
>
>
>
> Steve W.
>
> On Fri, Jun 17, 2011 at 4:02 PM, Daniel Colchete <dani@cloud3.tc> wrote:
>
> Good day everyone!
>
>
>
> I'm getting started with a new project and I'm thinking about using
> Cassandra because of its distributed quality and because of its performance.
>
>
>
> I'm using Java on the back-end. There are many many things being said about
> the Java high level clients for Cassandra on the web. To be frank, I see
> problems with all of the java clients. For example, Hector and Scale7-pelops
> have new semantics on them that are neither Java's or Cassandra's, and I
> don't see much gain from it apart from the fact that it is more complex.
> Also, I was hoping to go with something that was annotation based so that it
> wouldn't be necessary to write boilerplate code (again, no gain).
>
>
>
> Demoiselle Cassandra seems to be one option but I couldn't find a download
> for it. I'm new to Java in the back-end and I find that maven is too much to
> learn just because of a client library. Also it seems to be hard to
> integrate with the other things I use on my project (GWT, GWT-platform,
> Google Eclipse Plugin).
>
>
>
> Kundera looks great but besides not having a download link (Google site
> link to Github, that links to Google site, but no download) its information
> is partitioned on many blog posts, some of them saying things I couldn't
> find on its website. One says it uses Lucandra for indexes but that is the
> only place talking about it, no documentation about using it. It doesn't
> seem to support Cassandra 0.8 also. Does it?
>
>
>
> I would like to hear from the users here what worked for you guys. Some
> real world project in production that was good to write in Java, where the
> client was stable and is maintained. What are the success stories of using
> Cassandra with Java. What would you recommend?
>
>
>
> Thank you very much!
>
>
>
> Best,
>
> --
> Dani
> Cloud3 Tech - http://cloud3.tc/
> Twitter: @DaniCloud3 @Cloud3Tech
>
>
>
>
>
>   --
> Thanks,
> - Rajesh Koilpillai
>
>
>
>
> --
> Dani
> Cloud3 Tech - http://cloud3.tc/
> Twitter: @DaniCloud3 @Cloud3Tech
>
>
> ------------------------------
>
> Register for Impetus Webinar on ‘Leveraging the Cloud for your Product
> Testing Needs’ on June 22 (10:00am PT). Meet Impetus as a sponsor for Hadoop
> Summit 2011 in Santa Clara, CA on June 29.
>
> Click http://www.impetus.com to know more. Follow us on
> www.twitter.com/impetuscalling
>
>
> NOTE: This message may contain information that is confidential,
> proprietary, privileged or otherwise protected by law. The message is
> intended solely for the named addressee. If received in error, please
> destroy and notify the sender. Any use of this email is prohibited when
> received in error. Impetus does not represent, warrant and/or guarantee,
> that the integrity of this communication has been maintained nor that the
> communication is free of errors, virus, interception or interference.
>



-- 
Dani
Cloud3 Tech - http://cloud3.tc/
Twitter: @DaniCloud3 @Cloud3Tech

Mime
View raw message