cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aaron morton <aa...@thelastpickle.com>
Subject Re: Need help in cassandra data model..
Date Wed, 01 Sep 2010 08:32:26 GMT
From what you have described that sounds OK (am assuming there is not millions of events per
transaction). When designing the model consider all the ways you will want to read the data
back and then dernomalize the data appropriately. Ideally each request for data from cassandra
should be handled by single CF. 

When storing the time of the event, you could use either a Long as the seconds since epoch
or an ASCII string with the time formatted using the ISO format. 

Aaron

On 1 Sep 2010, at 19:09, Manikandan R wrote:

> Hello Everyone,
> 
> I am doing study on cassandra to make use of it for the below problem - 
> 
> My current system has many components. To complete any transaction(request), it has to
pass through all the components. While it passes through, there is no clear visibility to
know what is happening behind each component at any given point.
> 
> Trying to create a new component using cassandra, which receives the status of the transaction(request)
from other components for any given transaction(request) id, so that it can viewed online
in real time.
> 
> Here is the model, I have in my mind:
> 
> Transactions: {
> 
>     100: { //transaction id as key
> 
>          t1: { //Say, at time t1
> 
>               status: "Received the request. Doing validation";
>               mode: "debug";
>          };
> 
>          t2 : { // Say, at time t2
>           
>              status: "dropped:1000|absent=2000";
>              dropped: 1000;
>              absent: 2000;
>              mode: "info";
>          };
> 
> 
> 
>     101: { //transaction id as key
> 
>          t1: { //Say, at time t1
> 
>               status: "Doing External Verification..."
>               mode: "debug";
>          };
> 
>          t2 : { // Say, at time t2
>           
>              status: "valid:2000|invalid:1000";
>              valid: 1000;
>              invalid: 1000;
>              mode: "info";
>          };
> }
> 
> Status can delivered to the users depending on the SLA. Based on the mode, it can be
displayed to users. Users who has access to see detailed status, can see all the mode's status,
where as, user who want to see only reports, can see the mode with "info". 
> 
> Please let me know your thoughts.
> 
> Thanks,
> Mani


Mime
View raw message