About this video (at 29:00), Eric Evans from Rackspace informs a crowd that using Thrift and Avro is an awful idea. Rather, he advocates while using Idiomatic Client Libraries.


We are mainly coding in PHP. How can we connect PHP with Cassandra without Thrift or Avro?

The Idiomatic Client Libraries that Eric mentions are:

  • Pelops, Hector (Java)
  • Pycassa (Python)
  • Cassandra (Ruby)
  • Others... what are others?

Cassandra High Level Clients (The Cassandra wiki is a superb place on the planet)

Inside your situation I would suggest Tylers Hobb's phpcassa.

You could also want to look into the new kid on the market, unimaginably named PHP Cassandra Client Library: http://github.com/kallaspriit/Cassandra-PHP-Client-Library.

It is a effective high-level client, hiding the eccentricities of Thrift and concentrating on simplicity, performance and lean learning curve featuring:

  • easy and intuitive interface
  • well engrossed in unit tests (> 90%)
  • support for multiple server pools using named singletons
  • requires together with a single file
  • uses reasonable defaults through-out
  • effective syntax for querying data
  • allows controlling keyspaces and column-families
  • automatic packing of datatypes using column metadata
  • retries unsuccessful queries using back-off strategy
  • constructed with performance in your mind (caches schema description etc)
  • well recorded API along with a working example