Can we not implement counts by just storing all the deltas in a row, and then summing them all up to acheive a count.

If a row ends up with too many deltas, a reader could just summarise the deltas occasionally into a single value (in a way which avoids race conditions, of course).

So you'd map

key => { uniqueid: delta1, uniqueid: delta2 }

Every column in Cassandra also has a timestamp, so your app can decide, when it does a read, which deltas to summarise.

Mark