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

Reply via email to