From user-return-8018-apmail-couchdb-user-archive=couchdb.apache.org@couchdb.apache.org Sat Dec 12 19:07:33 2009 Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 46980 invoked from network); 12 Dec 2009 19:07:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 12 Dec 2009 19:07:33 -0000 Received: (qmail 43639 invoked by uid 500); 12 Dec 2009 19:07:31 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 43552 invoked by uid 500); 12 Dec 2009 19:07:31 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 43542 invoked by uid 99); 12 Dec 2009 19:07:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 12 Dec 2009 19:07:31 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [83.97.50.139] (HELO jan.prima.de) (83.97.50.139) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 12 Dec 2009 19:07:21 +0000 Received: from [192.168.1.115] (c-98-248-172-14.hsd1.ca.comcast.net [::ffff:98.248.172.14]) (AUTH: LOGIN jan, TLS: TLSv1/SSLv3,128bits,AES128-SHA) by jan.prima.de with esmtp; Sat, 12 Dec 2009 19:07:00 +0000 Subject: Re: Should I use CouchDb? Mime-Version: 1.0 (Apple Message framework v1077) Content-Type: text/plain; charset=iso-8859-1 From: Jan Lehnardt X-Priority: 3 In-Reply-To: <57682.82.73.244.17.1260483105.squirrel@webmail.claranet.nl> Date: Sat, 12 Dec 2009 11:06:26 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: References: <1260460317.3169.18.camel@leonardo-laptop> <1260466775.3169.24.camel@leonardo-laptop> <57682.82.73.244.17.1260483105.squirrel@webmail.claranet.nl> To: user@couchdb.apache.org X-Mailer: Apple Mail (2.1077) X-Virus-Checked: Checked by ClamAV on apache.org Hi Markus, that's good advice, thanks. And thanks for the plug :) Cheers Jan -- On 10 Dec 2009, at 14:11, Markus Jelsma wrote: > You should read throug the entire book but your questions are mostly > answered in these chapters: > - http://books.couchdb.org/relax/intro/eventual-consistency > - http://books.couchdb.org/relax/reference/replication > - http://books.couchdb.org/relax/reference/conflict-management >=20 > To summarize; CouchDB utilizes a non-locking multi version concurrency > controler (MVCC) to allow for disconnected instances to CRUD the > documents, which results in eventual consistency. >=20 > There exists no concept of locking but CouchDB's versioning system = allows > for handing document conflicts. These conflicts can and will rise in > single but also multiple disconnected instances. In single instances = the > developer must provide the end-user with a mechanism to handle = document > conflicts or automate the process. During replication, CouchDB uses an > arbitrary algorithm which choses a winner for conflicts. >=20 > CouchDB's conflict handling and versioning may be explained as = somewhat > similar to subversion and friends. >=20 > Although you may be very enthusiastic, you must read the book and = forge > some experiments for your use-case before actually going for it. There = may > be pitfalls. >=20 > In any case, the wiki's and this list will be helpful during your > development. >=20 >=20 >=20 >=20 > Leonardo M. Ram=E9 wrote: >>=20 >> Knowing this, I seems that CouchDb is the way to go. In my model, = each >> health organization have a database server that must replicate its = data >> in planned intervals, twice a day for example. >>=20 >> This raises a question. Does the Replicator sends the whole database >> from one server to another then do a diff between them?, or it has a >> more lightweight approach?. >>=20 >> -- >> Leonardo M. Ram=E9 >> http://leonardorame.blogspot.com >=20 >=20 >=20