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