cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bill <b...@dehora.net>
Subject Re: Data Modeling - JSON vs Composite columns
Date Sat, 22 Sep 2012 02:40:21 GMT
 > How does approach B work in CQL. Can we read/write a JSON
 > easily in CQL?  Can we extract a field from a JSON in CQL
 > or would that need to be done  via the client code?

Via client code. Support for this is much the same as support for JSON 
CLOBs in an RDBMS.

Approach A is better if you are going to update attributes as it avoids 
reads before writes, which can damage throughput.

A consideration for A are read times when the user has a high 
cardinality of <items> resulting in a wide row - in that case reads for 
an <item> should be tested. Writes tend to be cheap regardless of row size.

Bill

On 19/09/12 13:00, Roshni Rajagopal wrote:
> Hi,
>
> There was a conversation on this some time earlier, and to continue it
>
> Suppose I want to associate a user to  an item, and I want to also store
> 3 commonly used attributes without needing to go to an entity item
> column family , I have 2 options :-
>
> A) use composite columns
> UserId1 : {
>   <itemid1>:<Name> = Betty Crocker,
>   <itemid1>:<Descr> = Cake
> <itemid1>:<Qty> = 5
>   <itemid2>:<Name> = Nutella,
>   <itemid2>:<Descr> = Choc spread
> <itemid2>:<Qty> = 15
> }
>
> B) use a json with the data
> UserId1 : {
>   <itemid1> = {name: Betty Crocker,descr: Cake, Qty: 5},
>   <itemid2> ={name: Nutella,descr: Choc spread, Qty: 15}
> }
>
> Essentially A is better if one wants to update individual fields , while
> B is better if one wants easier paging, reading multiple items at once
> in one read. etc. The details are in this discussion thread
> http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Data-Modeling-another-question-td7581967.html
>
> I had an additional question,
> as its being said, that CQL is the direction in which cassandra is
> moving, and there's a lot of effort in making CQL the standard,
>
> How does approach B work in CQL. Can we read/write a JSON easily in CQL?
> Can we extract a field from a JSON in CQL or would that need to be done
> via the client code?
>
> Regards,
> Roshni


Mime
View raw message