How to implement (generic) ACID on application level

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

How to implement (generic) ACID on application level

Michal Augustýn
Hello,

we can read everywhere that Cassandra (and similar NoSQL solutions) doesn't support full ACID and (when we want to have ACID) we have to implement ACID in higher layers of our application. Are there some good resources on how to implement ACID on higher layers? I.e. how to implement repository pattern/DAO with ACID support when Cassandra is the database.

I'm sure that some pessimistic solution (locks) is absolutely unsuitable for Cassandra so the solution probably would deal with optimistic concurrency...

Thank you!

Augi
Reply | Threaded
Open this post in threaded view
|

Re: How to implement (generic) ACID on application level

Reza Lesmana
I read an article about using CAGES with Cassandra to achieve locking
and transaction...

Here is the link :

http://ria101.wordpress.com/2010/05/12/locking-and-transactions-over-cassandra-using-cages/

On 9/5/10, Michal Augustýn <[hidden email]> wrote:

> Hello,
>
> we can read everywhere that Cassandra (and similar NoSQL solutions) doesn't
> support full ACID and (when we want to have ACID) we have to implement ACID
> in higher layers of our application. Are there some good resources on how to
> implement ACID on higher layers? I.e. how to implement repository
> pattern/DAO with ACID support when Cassandra is the database.
>
> I'm sure that some pessimistic solution (locks) is absolutely unsuitable for
> Cassandra so the solution probably would deal with optimistic concurrency...
>
> Thank you!
>
> Augi
>
Reply | Threaded
Open this post in threaded view
|

Re: How to implement (generic) ACID on application level

Michal Augustýn
Thank you for the great link!
The mentioned solution is using locking but I would prefer some optimistic strategy (because the conflicts are rare in my situation) but I'm afraid that this is really the best solution...

So the solution is probably to use some kind of 

2010/9/6 Reza Lesmana <[hidden email]>
I read an article about using CAGES with Cassandra to achieve locking
and transaction...

Here is the link :

http://ria101.wordpress.com/2010/05/12/locking-and-transactions-over-cassandra-using-cages/

On 9/5/10, Michal Augustýn <[hidden email]> wrote:
> Hello,
>
> we can read everywhere that Cassandra (and similar NoSQL solutions) doesn't
> support full ACID and (when we want to have ACID) we have to implement ACID
> in higher layers of our application. Are there some good resources on how to
> implement ACID on higher layers? I.e. how to implement repository
> pattern/DAO with ACID support when Cassandra is the database.
>
> I'm sure that some pessimistic solution (locks) is absolutely unsuitable for
> Cassandra so the solution probably would deal with optimistic concurrency...
>
> Thank you!
>
> Augi
>

Reply | Threaded
Open this post in threaded view
|

Re: How to implement (generic) ACID on application level

Jonathan Shook
... some kind of what?

On Mon, Sep 6, 2010 at 3:38 AM, Michal Augustýn
<[hidden email]> wrote:

> Thank you for the great link!
> The mentioned solution is using locking but I would prefer some optimistic
> strategy (because the conflicts are rare in my situation) but I'm afraid
> that this is really the best solution...
> So the solution is probably to use some kind of
> 2010/9/6 Reza Lesmana <[hidden email]>
>>
>> I read an article about using CAGES with Cassandra to achieve locking
>> and transaction...
>>
>> Here is the link :
>>
>>
>> http://ria101.wordpress.com/2010/05/12/locking-and-transactions-over-cassandra-using-cages/
>>
>> On 9/5/10, Michal Augustýn <[hidden email]> wrote:
>> > Hello,
>> >
>> > we can read everywhere that Cassandra (and similar NoSQL solutions)
>> > doesn't
>> > support full ACID and (when we want to have ACID) we have to implement
>> > ACID
>> > in higher layers of our application. Are there some good resources on
>> > how to
>> > implement ACID on higher layers? I.e. how to implement repository
>> > pattern/DAO with ACID support when Cassandra is the database.
>> >
>> > I'm sure that some pessimistic solution (locks) is absolutely unsuitable
>> > for
>> > Cassandra so the solution probably would deal with optimistic
>> > concurrency...
>> >
>> > Thank you!
>> >
>> > Augi
>> >
>
>
Reply | Threaded
Open this post in threaded view
|

Re: How to implement (generic) ACID on application level

Michal Augustýn
Never mind - I didn't want to send the last paragraph. I'm sorry.

2010/9/7 Jonathan Shook <[hidden email]>
... some kind of what?

On Mon, Sep 6, 2010 at 3:38 AM, Michal Augustýn
<[hidden email]> wrote:
> Thank you for the great link!
> The mentioned solution is using locking but I would prefer some optimistic
> strategy (because the conflicts are rare in my situation) but I'm afraid
> that this is really the best solution...
> So the solution is probably to use some kind of
> 2010/9/6 Reza Lesmana <[hidden email]>
>>
>> I read an article about using CAGES with Cassandra to achieve locking
>> and transaction...
>>
>> Here is the link :
>>
>>
>> http://ria101.wordpress.com/2010/05/12/locking-and-transactions-over-cassandra-using-cages/
>>
>> On 9/5/10, Michal Augustýn <[hidden email]> wrote:
>> > Hello,
>> >
>> > we can read everywhere that Cassandra (and similar NoSQL solutions)
>> > doesn't
>> > support full ACID and (when we want to have ACID) we have to implement
>> > ACID
>> > in higher layers of our application. Are there some good resources on
>> > how to
>> > implement ACID on higher layers? I.e. how to implement repository
>> > pattern/DAO with ACID support when Cassandra is the database.
>> >
>> > I'm sure that some pessimistic solution (locks) is absolutely unsuitable
>> > for
>> > Cassandra so the solution probably would deal with optimistic
>> > concurrency...
>> >
>> > Thank you!
>> >
>> > Augi
>> >
>
>