couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Couchdb Wiki] Update of "HTTP Document API" by DavidVanCouvering
Date Mon, 23 Mar 2009 16:58:01 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The following page has been changed by DavidVanCouvering:
http://wiki.apache.org/couchdb/HTTP_Document_API

------------------------------------------------------------------------------
  
  In this case, documents with id 1 and 2 were successfully modified, while the document with
id 0 had a conflict, with both versions being saved in the database.  The application will
then need to handle any conflict resolution.
  
+ Note that this change makes explicit the fact that CouchDB is not a relational store does
not guarantee relational consistency between documents. As a developer you need to be aware
of these semantics and design your data model and your application with this in mind.
- Note that this change makes explicit the fact that CouchDB is not a relational store does
not guarantee relational semantics between documents.  This is something you should be aware
of when designing an application against CouchDB.
- 
- First of all, in a replicated environment, document changes are replicated independently,
and in no defined order.  So replicas can easily have documents that are temporarily inconsistent
with each other.  Secondly, even when running on a single node with no replication, it is
possible for an update to one document to succeed while another has a conflict.  For example,
you may wish to delete a master document and cascade that delete to all of its related detail
documents, but one of the details may have a conflicting update, so the delete will not succeed,
and now you have a detail document with no owning master.  
- 
- In a replicated environment, the delete may even succeed locally, but subsequently when
replicating with another replica, an update to a detail document may be detected, and now
the delete is in conflict, and you can potentially have a detail document with no owning master
document.
- 
- As a developer you need to be aware of these semantics and design your data model and your
application with this in mind.
  
  === DELETE ===
  

Mime
View raw message