Hi!
I have couple of questions regarding your model:

 1. What Cassandra version are you using? I am still working with 1.0 and this seems to make sense, but 1.2 gives you much more power I think.
 2. Maybe I don't understand your model, but I think you need  DynamicComposite columns, as user columns are different in number of components and maybe type.
 3. How do you associate between the SMS or MMS and the user you are chating with. Is it done by a separate CF?

Thanks,
Tamar


Tamar Fraenkel 
Senior Software Engineer, TOK Media 

Inline image 1




On Wed, Feb 6, 2013 at 8:23 AM, Vivek Mishra <mishra.vivs@gmail.com> wrote:
Avoid super columns. If you need Sorted, wide rows then go for Composite columns.

-Vivek


On Wed, Feb 6, 2013 at 7:09 AM, Kanwar Sangha <kanwar@mavenir.com> wrote:

Hi –  We are designing a Cassandra based storage for the following use cases-

 

·        Store SMS messages

·        Store MMS messages

·        Store Chat history

 

What would be the ideal was to design the data model for this kind of application ? I am thinking on these lines ..

 

Row-Key :  Composite key [ PhoneNum : Day]

 

·        Example:   19876543456:05022013

 

Dynamic Column Families

 

·        Composite column key for SMS [SMS:MessageId:TimeUUID]

·        Composite column key for MMS [MMS:MessageId:TimeUUID]

·        Composite column key for user I am chatting with [UserId:198765432345] – This can have multiple values since each chat conv can have many messages. Should this be a super column ?

 

 

19866666666:05022013

SMS:xxxx:ttttttt

SMS:xxx12:ttttttt

MMS:xxxx:ttttttt

XXXX:1933333333

19877777777:05022013

 

 

 

 

19878888888:05022013

 

 

 

 

 

 

Thanks,

Kanwar