cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anthony John <>
Subject Re: Patterns for writing enterprise applications on cassandra
Date Wed, 16 Feb 2011 19:51:07 GMT

The gist of Dave's contention is that Casandra adds value in spite of the
lack of transactions. However, that need not mean that it can be used for
Enterprise applications. Transaction semantics needs to be re-imagined
within the capabilities of this new kind of database infrastructure, which
addresses some key challenges in scaling.

In some sense - RDBMSs have spoiled us to expect ACID transactions in the
database. Remember, transaction processing is older than RDBMSs - it was
done on COBOL/mainframes and a bulk of banking transactions - even today -
do not go through ACID supporting database platforms. They still live on the

So it can be done and frameworks like CAGES are showing a way forward. At
the heart of it, there will need to be a Two-Phase commit type protocol
coordinator that sits in front of Cassandra. Of which - one can be sure -
there will be many implementations / best practices in the coming months.



On Wed, Feb 16, 2011 at 1:31 PM, Dave Revell <> wrote:

> Ritesh,
> There don't seem to be any common best practices to do this. I think the
> reason is that by adding transaction semantics on top of Cassandra you're
> throwing away the most important properties of Cassandra. The effects of a
> transaction/locking layer:
> - A centralized performance bottleneck that won't scale linearly
> - Complex failure detection and recovery
> - Reduced availability/partition tolerance (CAP: C prevents simultaneous A
> and P)
> - High latency for geographically remote clients
> - Lower throughput due to enforced serial ordering of transactions
> There are probably other reasons that didn't occur to me. Cassandra's great
> at doing what it does, but it's certainly not a general purpose
> transactional database for all use cases.
> -Dave
> On Wed, Feb 16, 2011 at 11:19 AM, tijoriwala.ritesh <
>> wrote:
>> Hi Gaurav,
>> Thanks for the reply...I did look at the cages framework and I see that it
>> provides some functionality for locking and atomic writes for multiple
>> keys.
>> My question was that do people rely on these kind of frameworks - if so,
>> is
>> cages the only one or are there others as well...and if not, what do they
>> do
>> to solve these kind of problems...
>> Thanks,
>> Ritesh
>> --
>> View this message in context:
>> Sent from the mailing list archive at

View raw message