incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Connolly <stephen.alan.conno...@gmail.com>
Subject Re: Storing Accounting Data
Date Tue, 21 Jun 2011 21:36:05 GMT
writes are not atomic.

the first side can succeed at quorum, and the second side can fail
completely... you'll know it failed, but now what... you retry, still
failed... erh I'll store it somewhere and retry it later... where do I store
it?

the consistency level is about tuning whether reads and writes are
replicated/checked across multiple of the replicates... but at any
consistency level, each write will either succeed or fail _independently_

you could have one column family which is kind of like a transaction log,
you write a json object of all the mutations you will make, then you go and
make the mutations, when they succeed you write a completed column to the
transaction log... them you can repeat that as often as need

you could have transactions posted as columns in a row, and to get the
balance you iterate all the columns adding the +'s and -'s

by processing the transaction log, you could establish the highest complete
timestamp, and add summary balance columns being the running total up to
that point, so that you don't have to iterate everything

- Stephen

---
Sent from my Android phone, so random spelling mistakes, random nonsense
words and other nonsense are a direct result of using swype to type on the
screen
On 21 Jun 2011 22:04, "AJ" <aj@dude.podzone.net> wrote:

Mime
View raw message