[hibernate-dev] Contributing to OGM / Cassandra

John Worrell jlesinge at gmail.com
Thu Aug 7 04:10:15 EDT 2014


Hi Emmanuel et al.,

My apologies for the log radio silence. I've taken a look at the code-base
on Jon Halliday's repo, and have set up a nick on freenode - #jlesinge.

On the time-series question I was wondering how you envisaged the data
stored: I tend to think of a single row under an primary key with an
object-instance per column. Now what we have typically done (generally the
data has been immutable) is to store the data serialized as a blob (JSON or
XML), but I understand you do not favour this approach. With this sort of
model I imagine the collection is then all the objects stored in the row,
and the challenge is to page through the objects in the row.

An approach we have often taken is to create multiple copies of data in
different (obviously works well only for immutable objects) or better to
create a table of keys to a main table where in either approach the
row-keys are effectively a foreign-key and there is column per  object
associated through the foreign-key. Another approach though might be to use
a column with type list (or set, or map) to contain keys to the associated
objects - this would be a little like the extensions Oracle have for
mapping 1-* associations, though with the caveat that a column of
collection type may only contain 64k elements. I wondered if some though
had been given to this strategy (which I must admit I have not yet used
myself).

It seems very likely that different mapping strategies should be
specifiable, but then I have still to understand how these might fit with
treiid.

Can I ask about assumptions: is it fair to assume that for Cassandra, OGM
will target only CQL 3 (which means Cassandra 2 or maybe 1.2)? This would
certainly make life simpler.

An issue I don't see addressed is the choice of consistency-level (read or
write) and I wondered if there was a plan for this? Assumptions can be made
on a per table basis, but, certainly for ad hoc queries, it is important
 think to have the flexibility to specify on a per-query basis.

Those are my thoughts so far... I'll see about doing a POC of some of what
I have described above

Cheers,

John


On Mon, Jul 21, 2014 at 4:48 PM, John Worrell <jlesinge at gmail.com> wrote:

> Hi Emmanuel,
>
> I'll take a look at what is there, and I'll get up and running on IRC.
>
> I'll particularly look at the time-series issue - non-trivial I think.
>
> Cheers,
>
> John
>
>
> On Mon, Jul 21, 2014 at 1:06 PM, Emmanuel Bernard <emmanuel at hibernate.org>
> wrote:
>
>> Hi John,
>>
>> I thought I had replied to you on Friday but apparently the email never
>> went through :/
>>
>> That is good news :)
>> Jonathan worked on a Cassandra prototype but had to drop due to other
>> duties. He pushed everything at
>> https://github.com/jhalliday/hibernate-ogm/tree/jonathan_cassandra
>>
>> Have a look at what he has done and come ask any question to Gunnar,
>> Davide or me. There are a bunch of moving pieces. We are mostly on
>> freenode’s #hibernate-dev ( you need a freenode login
>> http://freenode.net/faq.shtml#nicksetup ). If you are allergic to IRC,
>> let me know and we will find alternatives.
>>
>> The most interesting challenge will be to see how we can map time series
>> into a collection and make sure we let the user decide how much he wants to
>> load.
>>
>> Emmanuel
>>
>> On 16 Jul 2014, at 13:17, John Worrell <jlesinge at gmail.com> wrote:
>>
>> > Hi,
>> >
>> > I'm interested in contributing to the Cassandra module of Hibernate-OGM
>> -
>> > what would be the baest way to go about this?
>> >
>> > Thanks,
>> >
>> > John
>> > _______________________________________________
>> > hibernate-dev mailing list
>> > hibernate-dev at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>
>>
>


More information about the hibernate-dev mailing list