Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for 
change notification.

The "ClientOptions06" page has been changed by JonHermes.
http://wiki.apache.org/cassandra/ClientOptions06

--------------------------------------------------

New page:
<<TableOfContents()>>

= High level clients =
These are often more convenient than raw Thrift, which has a certain 
lowest-common-denominator flavor to it, because that's what it does.  But, it's 
good to understand the Thrift [[API]] to have an idea of what's going on under 
the hood.  See the individual clients for their respective documentation. Note 
that by default the Thrift [[API]] is exposed on port 9160.

 * Ruby:
  * Cassandra: http://github.com/fauna/cassandra/tree/master
  * Cassandra_object: http://github.com/NZKoz/cassandra_object/tree/master (for 
Rails)
  * Small Record: http://github.com/astrails/smallrecord/tree/master (for 
ruby/ActiveModel, Rails)
 * Perl:
  * Net-Cassandra: 
http://search.cpan.org/dist/Net-Cassandra/lib/Net/Cassandra.pm
  * Net-Cassandra-Easy: http://search.cpan.org/dist/Net-Cassandra-Easy/ (A 
simpler, much less Thrift-oriented interface than Net::Cassandra; includes a 
CLI called cassidy.pl with tab-completion)
 * Python:
  * Tragedy: http://github.com/enki/tragedy/
  * Lazy Boy: http://github.com/digg/lazyboy/tree/master
  * Telephus: http://github.com/driftx/Telephus/tree/master (Twisted)
  * Pycassa: http://github.com/vomjom/pycassa
 * Scala:
  * Scromium: http://github.com/cliffmoon/scromium
  * Cascal: http://github.com/shorrockin/cascal
  * Cassandra4o: http://code.google.com/p/cassandra4o/ (works with Java, 
includes hooks for Hibernate-like Object-mapping)
  * Akka: http://akkasource.org/ (Akka includes a Cassandra client but is more 
than that)
  * Cassie: http://github.com/codahale/cassie
 * Java :
  * Hector: http://github.com/rantav/hector
  * Pelops: http://code.google.com/p/pelops/
  * HelenaORM: http://github.com/marcust/HelenaORM (ORM layer built on Hector)
  * OCM: http://github.com/charliem/OCM (higher level client built on Hector)
  * Datanucleus-Cassandra plug-in: 
http://github.com/PedroGomes/datanucleus-cassandra (Persistence of objects 
through the JDO/JPA APIs under the Datanucleus platform).
  * Jassandra: http://code.google.com/p/jassandra/
 * PHP :
  * Pandra: http://github.com/mjpearson/Pandra/tree/master
  * PHP Cassa: http://github.com/hoan/phpcassa [port of pycassa to PHP]
 * Clojure :
  * CLJ-Cassandra: http://github.com/robertluo/clj-cassandra
 * Grails :
  * Grails-Cassandra: http://github.com/wolpert/grails-cassandra
 * C++ :
  * LibCassandra: http://github.com/posulliv/libcassandra
 * C# / .NET
  * Aquiles: http://aquiles.codeplex.com/
  * Hector Sharp: http://www.hectorsharp.com
  * Fluent Cassandra: http://github.com/managedfusion/fluentcassandra


== Older clients ==
These are not up to date with the latest Cassandra features.

 * Scala:
  * http://github.com/viktorklang/Cassidy/tree/master
  * http://github.com/nodeta/scalandra/tree/master
 * Java:
  * http://code.google.com/p/cassandra-java-client
 * PHP:
  * Simple Cassie: http://code.google.com/p/simpletools-php/wiki/SimpleCassie

= Example Projects =

 * Erlang:
  * etiny: http://github.com/dgrijalva/etiny

= Thrift =
Thrift is the Cassandra driver-level interface that the clients above build on. 
 You can use raw Thrift from just about any language, but it's not particularly 
idiomatic in any of them.  Some examples are given in ThriftExamples.

= Internal API =
The StorageProxy API is available to JVM-based clients, but you should use 
Thrift unless you have a very good reason not to.  (The most common reason is 
wanting to use the BinaryMemtable bulk-load interface.)

= Hadoop =
Running Hadoop map/reduce jobs in Cassandra is described in HadoopSupport.

Reply via email to