Hi all,

At present we store the message content with the only identifier being the
message ID (correct me if I'm wrong). But this makes "queue purge" an
exhaustive operation. Since we have no way of filtering message content
relevant to a specific queue, we have to refer to the message metadata
table and retrieve all message IDs of the queue before issuing content
deletions. (2 database calls)

Given that queue purge is not supposed to be a frequent activity, we could
live with this.

But in case we need to optimize, it would be better to group message
content with queueName as a second key. In terms of RDBMS stores this can
be done via composite keys. In Cassandra, the queueName will need to be the
partition key and the message ID will be clustering key [1].

Should we go for this ? If yes, we need to check any performance impact
with further testing.

[1] :
http://stackoverflow.com/questions/24949676/difference-between-partition-key-composite-key-and-clustering-key-in-cassandra

-- 
Cheers,

Hasitha Amal De Silva
 Software Engineer
Mobile : 0772037426
Blog    : http://devnutshell.tumblr.com/
WSO2 Inc.: http://wso2.com ( lean.enterprise.middleware. )
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to