cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Zhongwei Sun <zhongwei.sun2...@gmail.com>
Subject Re: Patterns for writing enterprise applications on cassandra
Date Wed, 16 Feb 2011 03:28:47 GMT
Is there any Python implementation for transaction?


2011/2/16 Gaurav Sharma <gaurav.gs.sharma@gmail.com>:
> Enterprise applications is a very broad topic. There's no one answer for every type.
>
> You specifically mention a transactional scenario. For that, I can recommend you look
at Cages (http://code.google.com/p/cages) if you haven't already.
>
> On Feb 15, 2011, at 19:45, Ritesh Tijoriwala <tijoriwala.ritesh@gmail.com> wrote:
>
>> Hi,
>> I have general questions on writing enterprise applications on cassandra. I come
from a background which involves writing enterprise applications using DBMS.
>>
>> What are the general patterns people follow in Cassandra world when migrating a code
that is within transaction boundaries in a traditional DBMS application? for e.g. transfer
$5 from account A to account B. The code would normally look like:
>>
>>         beginXT
>>         try {
>>                   A = A - $5;
>>                   B = B + $5;
>>                   commitXT;
>>         } catch (....) {
>>                   rollbackXT;
>>         }
>>
>> The effect of this is that either both statements execute, or none. The sum of account
balances remain constant. How does one deal with this type of code when writing on top of
Cassandra? I understand that consistency will be eventual and its fine that eventually, sum
of both account balances remain constant but how to detect that a transaction failed and only
step "A = A - $5" has executed and the later step has not been executed?
>>
>> Are there any sample applications out there where I can browse code and see how it
is written? For e.g. customer purchase order application, etc. which atleast involves some
concept of transaction and has code to keep things consistent.
>>
>> Thanks,
>> Ritesh
>

Mime
View raw message