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
