Hi Christian, On Thu, Jul 18, 2013 at 3:12 PM, <[email protected]> wrote:
> in the course of evaluating Gora, I‘m looking for information on the > design rationale behind the Gora Cassandra module. > OK here we go :0) > > In particular, I try to find information on the following (debatable?) > points: > I like your choice of words... ;) > > - Gora keys are mapped to C* partition keys only > Yes this is true. You can see this in CassandraStore#addSubColumns & #addSuperColumns where we follow the Cassandra logic CF data is partitioned across nodes based on row Key. This would actually be very nice Javadoc for such methods (even though they are private), however we should also annotate CassandraStore#execute(query) or (partiionQuery) as the same principle applies for this method as well. > - Gora requires the C* ByteOrderedPartitioner > Mmmm... Kaz recently changed the Embedded Cassandra server in the tests to use ByteOrderedPartitioner as testQueryWebPageQueryEmptyResults (and some other tests) were failing https://issues.apache.org/jira/browse/GORA-157 > - Comparators are always BYTESTYPE > > - Gora makes extensive use of super column families > As Alfonso said, yes we do. Right now this is the data modelling approach we have and maintain. We (Renato and myself) recently discussed @C*Summit that this is going to need to change. When we cross this bridge it will be a (most likely non-backwards compatable) re-write of the bulk of the C*Module in Gora. I assume you guys are investing in C* for medium/long term? I can tell you for sure that we will be changing Gora... however as Alfonso said we will make best efforts to support backwards compat. > - The implementation has a hard-coded replication factor of 1 > Right now we use Hector client. Roland and myself have a number of issues open to make better use of features provided to us by Hector. Please see below https://issues.apache.org/jira/browse/GORA-214 https://issues.apache.org/jira/browse/GORA-98 https://issues.apache.org/jira/browse/GORA-209 https://issues.apache.org/jira/browse/GORA-215 https://issues.apache.org/jira/browse/GORA-167 wow I didn't realize we had sop many open!!! Yikes. > > - Gora doesn't seem to take advantage of native column ordering in C* > As per Alfonso's quote - Gora doesn't seem to utilize C* compound primary keys > As per Alfonso's quote - Gora doesn't seem to allow the use of per-operation consistency levels > > Please see issue above. I hope this has answered some of your queries. Apologies for taking a while to get back. Been breaking my back @work ;) Thanks Lewis

