I don't remember other people's examples in detail due to my shitty memory,
so I'd rather not misquote.

In my case, I mix static and dynamic columns in a single column family with
primitives and objects. The objects are temporal object graphs with a known
type. Doing this type of stuff is basically transparent for me, since I'm
using thrift and our data modeler generates helper classes. Our tooling
seamlessly convert the bytes back to the target object. We have a few
standard static columns related to temporal metadata. At any time, dynamic
columns can be added and they can be primitives or objects. The framework
we built uses CQL for basic queries and views the user defines.

We model the schema in a GUI modeler and the framework provides a query API
to access a specific version or versions of any record. The design borrows
heavily from temporal logic and active databases.

For the record, doing this kind of stuff in a relational database sucks
horribly. The reason I chose to build a temporal database on Cassandra is
because I've done it on oracle/sqlserver in the past. Last year I submitted
a talk about our temporal database for the datastax conference, but it was
rejected since there were too many submissions. I know spotify also built a
temporal database on Cassandra and they gave a talk on what they did.

peter


On Wed, Jan 21, 2015 at 10:13 AM, Sylvain Lebresne <sylv...@datastax.com>
wrote:

>
> I've chatted with several long time users of Cassandra and there's things
>> CQL3 doesn't support.
>>
>
> Would you care to elaborate then? Maybe a simple example of something (or
> multiple things since you used plural) in thrift that cannot be supported
> in CQL?
> And please note that I'm *not* saying that all existing thrift table can
> be seemlessly used from CQL: there is indeed a few cases for which that's
> not the case. But that does not mean those cases cannot easily be in CQL
> from scratch.
>

Reply via email to