Ritesh, 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 mainframe. 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. HTH, -JA On Wed, Feb 16, 2011 at 1:31 PM, Dave Revell <d...@meebo-inc.com> 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 < > tijoriwala.rit...@gmail.com> 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: >> http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Patterns-for-writing-enterprise-applications-on-cassandra-tp6030077p6033138.html >> Sent from the cassandra-u...@incubator.apache.org mailing list archive at >> Nabble.com. >> > >