It appears you are aware of the tombstones affect that leads people to label 
this an anti-pattern.  Without "due" or any time based value being part of the 
partition key means you will still get a lot of buildup.  You only have 1 
partition per shard which just linearly decreases the tombstones.  That isn't 
likely to be enough to really help in a situation of high queue throughput, 
especially with the default of 4 shards. 

You may want to consider switching to LCS from the default STCS since 
re-writing to same partitions a lot. It will still use STCS in L0 so in high 
write/delete scenarios, with low enough gc_grace, when it never gets higher 
then L1 it will be sameish write throughput. In scenarios where you get more 
LCS will shine I suspect by reducing number of obsolete tombstones.  Would be 
hard to identify difference in small tests I think.

Whats the plan to prevent two consumers from reading same message off of a 
queue?  You mention in docs you will address it at a later point in time but 
its kinda a biggy.  Big lock & batch reads like astyanax recipe?

---
Chris Lohfink


On Oct 5, 2014, at 6:03 PM, Jan Algermissen <jan.algermis...@nordsc.com> wrote:

> Hi,
> 
> I have put together some thoughts on realizing simple queues with Cassandra.
> 
> https://github.com/algermissen/cassandra-ruby-queue
> 
> The design is inspired by (the much more sophisticated) Netfilx approach[1] 
> but very reduced.
> 
> Given that I am still a C* newbie, I’d be very glad to hear some thoughts on 
> the design path I took.
> 
> Jan
> 
> [1] https://github.com/Netflix/astyanax/wiki/Message-Queue

Reply via email to