cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Allsopp <>
Subject Re: Queue suggestion in Cassandra
Date Mon, 19 Sep 2011 15:51:07 GMT
I have had similar experiences. On the advice of the Cassandra team, I now
maintain the queue itself in-memory, but persist the data items in Cassandra
(one per row). When re-starting the system I pull data from Cassandra to
re-construct the ordered queue in-memory. In some cases I write columns to
the rows indicate the progress of an item (unprocessed, pending, complete,
error, etc).  However, my approach may not work well with transient items
that don't need storing once processed. My items need persisting even after
their initial processing.

On 17 September 2011 00:08, Daning Wang <> wrote:

> We try to implement an ordered queue system in Cassandra(ver 0.8.5). In
> initial design  we use a row as queue,  a column for each item in queue.
> that means creating new column when inserting  item and delete column when
> top item is popped. Since columns are sorted in Cassandra we got the ordered
> queue.
> It works fine until queue size reaches 50K, then we got high CPU usage and
> constant GC, that makes the whole Cassandra server very slow and not
> responsive, we have to do full compaction to fix this problem.
> Due to this performance issue that this queue is not useful for us. We are
> looking for other designs. I want to know if anybody has implemented a large
> ordered queue successfully.
> Let me know if you have suggestion,
> Thank you in advance.
> Daning

View raw message