Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cassandra Client API Most Similar to App Engine Datastore API?

With the announcement of the Google App Engine's new pricing model, I've realized my application will not be able to sustain itself due to the extremely high price of Google Datastore interactions. Because it is a social game that relies on consistent and quick user input, this application simply requires far too many datstore interactions on a per-user basis to be viable (even with memcache mediating common queries and operations).

From the research I've done, it seems like the best solution would be for my team to migrate to a Cassandra-based database solution. I've looked at the various popular APIs like Hector and Pelops, but from my initial inspection it seems these are a little too low-level for what I'm looking for. Is there a Cassandra client API in Java that emulates the App Engine's low-level Datstore API and uses the same "Entity Group"/property model? At the very least I would like the API to have the same "Ancestor" Entity concepts and maintain cross-group transactions in the same manner.

EDIT : To clarify, what I'm really looking for is a Cassandra API that supports Transactions. As far as I can understand, transactions in a NoSQL environment are difficult, if not impossible to implement without some hierarchical groupings of "objects" (call them what you will, entities, tables, etc). This seems to be why Hector does not implement them.

So, my question is, what is the most popular Cassandra API that implements some form of transactional systems, preferably one that uses an GAE-like Entity structure?

like image 317
depthfirstdesigner Avatar asked Nov 05 '11 21:11

depthfirstdesigner


1 Answers

Did you see hector-object-mapper? https://github.com/rantav/hector/tree/master/object-mapper

Lightweight, annotation driven persistence for Apache Cassandra via Hector. For more docs on Hector usage, see: http://hector-client.org

like image 182
zznate Avatar answered Nov 08 '22 23:11

zznate