On Tue, Jun 21, 2011 at 10:58 PM, AJ <a...@dude.podzone.net> wrote:

> **
> On 6/21/2011 3:36 PM, Stephen Connolly wrote:
>
> 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
>
>
> Yeah, it's all more than I want to do.  But, I just rediscovered Dominic's
> Cages <http://code.google.com/p/cages/>.   Has anyone tried it?
>
> ---
> 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" <a...@dude.podzone.net> wrote:
>
>
>
I have used cages, it works well. The concept of cages is sound, but if a
large % of your operations have to go through cages and zookeeper locks you
are not going to get the most out of Cassandra. On there other hand if you
need mostly week(er) reads and a small portion of critical actions need to
lock with cages that is a good fit.

Reply via email to