I have a question about membase and concurency, Is membase support Transaction and concurency control?
-If yes how can I use it in my app ?
-If no how can I implement that feature ?
This is one of the major differences between a Relational Database (RDBMS) and NoSQL databases in general.
We don't support transactions in the traditional sense of the word, but we are ACID-compliant on a per-item basis and have concurrency/locking controls available.
Some applications have used this to create their own "transactions" but it's never going to be exactly the same as an RDMBS due to the inherent scale and performance issues that come along with traditional transactions.
Perhaps if you give an example of what you're trying to accomplish we can help suggest other ways.
Forum support is great for free but sometimes you need a guaranteed response time and dedicated resources for your questions or issues.Consider purchasing enterprise-level support from Couchbase: http://www.couchbase.com/products-and-services/overviewCall or email "sales -at- couchbase-dot- com" today!
My problem is: I have a project that we use membase as database, but when programmer code in that project they have to self control transaction and concurency by hard code, I want to make mechanism to handle concurency and transaction automatically. It works like middle layer between Membase and Programmer. this layer will control all of the transaction and concurency of programmer.
By the way, I wonder what is " ACID-compliant on a per-item basis and concurrency/locking controls"? can you explain more? and how can I use it to handle transaction and concurency control ?
Any operation that you can do on an item is considered atomic at the server (ACID-compliant).
You should look into the usage of CAS (part of the memcached protocol) to manage concurrency.
Let me know if that helps
I don't quite understand how Couchbase can be "ACID-compliant" if it employs the replication technique described here: http://stackoverflow.com/questions/12143957/couchbase-consistency
It seems that I could perform a CAS and it succeeds on the master (or whatever you want to call that node), but it has not yet propagated to any replicas. The master then dies. My update just got lost -- this is not ACID-compliant.
Can you please elaborate?
On a related topic, the Observe method described in another document is currently unimplemented, right?
© 2013 COUCHBASE All rights reserved.