Cassandra Client APIs Most similar to the App Engine datastore API?

With the announcement of the new Google App Engine pricing model, I realized that my application would not be able to support itself due to the extremely high price of Google Datastore interactions. Since this is a social game based on sequential and fast user input, this application simply requires too many interactions between the data stores for each user to be viable (even if memcache mediates common requests and operations).

From the research that I did, it seems that the best solution for my team would be to switch to a solution for a database based on Cassandra. I looked at various popular APIs such as Hector and Pelops, but from my initial check it seems they are a little too low for what I'm looking for. Is there a Cassandra Java client API that emulates the low-level Datstore App Engine APIs and uses the same Entity Group / property model? At least I would like the API to have the same Ancestral concepts and support cross-group transactions in the same way.

EDIT: To find out what I'm really looking for is a Cassandra API that supports transactions. As far as I understand, transactions in NoSQL are complicated if it is not impossible to implement without any hierarchical groupings of β€œobjects” (name them, what you will, entities, tables, etc.). It seems that is why Hector does not implement them.

So my question is, what is the most popular Cassandra API that implements some form of transactional system, preferably one that uses an entity structure similar to GAE?

+7
source share
2 answers

Have you seen hector-object-mapper? https://github.com/rantav/hector/tree/master/object-mapper

Easy annotation-oriented persistence for Apache Cassandra via Hector. For more documents on using Hector, see http://hector-client.org

+1
source

The best I could find was AppScale , which uses Cassandra, although I don’t understand how to configure and run the data warehouse as a standalone service without other GAE services. I created an issue for this. Technically, you can use the same client library with minor changes (for example, replace the storage URL / endpoint with your own)

0
source

All Articles