On Mar 23, 2010, at 6:23 PM, Alex Koshelev wrote:

> Hi, all!
> 
> I'm digging into CouchDB for my work and I want to understand better
> its architecture and underlying concepts.
> 
> All sources over Internet (including Wikipedia [1]) describe ACID as
> properties of database _transactions_. As we now CouchDB has no
> transaction support in classing DB meaning -- there is no way to
> execute several API calls (DB operations) even with Bulk API in atomic
> way.
> 
> But CouchDB documentation [2] and many sources say that it is ACID compliant.
> 
> I understand that as ACID can be applied to individual API calls (for
> example PUT or POST to some document) in the meaning that
> _transaction_ is the set of low level CouchDB server operations from
> parsing of http requests to data flushing on disk. And it can be
> treated
> as ACID requirements compatibility.
> 
> Am I right? Or ACID compliance with CouchDB means something different.
> 

Yes. CouchDB is ACID compliant when you think of transactions as involving a 
single document.

Also, a single-node installation of CouchDB is ACID compliant including view 
queries, so that any given view query will reflect a consistent snapshot of the 
database.

Chris

> Thanks.
> 
> [1]: http://en.wikipedia.org/wiki/ACID
> [2]: http://couchdb.apache.org/docs/overview.html
> ---
> Alex Koshelev

Reply via email to