There was a by here last year who did something similar and did a nice write 
up. Cannot find it right now, some googleing  may help.

Aaron


On 16/02/2011, at 2:56 AM, Victor Kabdebon <victor.kabde...@gmail.com> wrote:

> Hello Sasha.
> 
> In this sort of real time application the way you insert (QUORUM, ONE, etc..) 
> and  the way you retrieve is extremely important because your data may not 
> have had the time to propagate to all your nodes. Be sure to use adequate 
> policies to do that : insert to a certain number of nodes but don't sacrifice 
> to much time doing that to keep the real time component.
> Here is a presentation of how the chat is made in Facebook, it may be useful 
> to you :
> 
> http://www.erlang-factory.com/upload/presentations/31/EugeneLetuchy-ErlangatFacebook.pdf
> 
> It's more focused on erlang, but it might give you ideas on how to deal with 
> that problem (I am not sure that DB are the best way to deal with that... but 
> it's just my opinion).
> 
> Victor Kabdebon
> http://www.voxnucleus.fr
> 
> 
> 
> 2011/2/15 Sasha Dolgy <sdo...@gmail.com>
> thanks for the response.  thinking about this, this would not allow for the 
> sorting of messages into a chronological order for end user display.  i had 
> thought about having each message as its own column against the room or the 
> user, but i have had some inconsistencies in retrieving the data.  sometimes 
> i get 3 columns, sometimes i get 50...( i think this is because of the random 
> partitioner)
>  
> i had thought about this structure:
>  
> [messages][nickname][message id => message data]
> [chatrooms][room_name][message id]
>  
> this way i can pull all messages a user ever posted, not specific to a room.  
> what i haven't been able to do so far is print the timestamp on the row or 
> column.  does this have to be explicitly added somewhere or can it be 
> returned as part of a 'get' request? 
>  
> -sd
>  
>  
> On Tue, Feb 15, 2011 at 2:12 PM, Michal Augustýn <augustyn.mic...@gmail.com> 
> wrote:
> The schema design depends on chatrooms/users/messages numbers. I.e. you can 
> have one CF, where key is chatroom, column name is username, column value is 
> the message and message time is the same as column timestamp.
> You can add day-timestamp to the chatroom name to avoid large rows.
> 
> Augi
> 
> 2011/2/15 Andrey V. Panov <panov.a...@gmail.com>
> 
> I never did it. But I suppose you can use "chatroom name" as key and store 
> messages & nicks as columns in JSON and timestamp as columnName.
> 
> 
> 
> 
> -- 
> Sasha Dolgy
> sasha.do...@gmail.com
> 

Reply via email to