Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 15434 invoked from network); 1 Apr 2009 15:42:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 1 Apr 2009 15:42:28 -0000 Received: (qmail 35503 invoked by uid 500); 1 Apr 2009 15:42:27 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 35424 invoked by uid 500); 1 Apr 2009 15:42:27 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 35413 invoked by uid 99); 1 Apr 2009 15:42:27 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Apr 2009 15:42:27 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jchris@gmail.com designates 74.125.78.24 as permitted sender) Received: from [74.125.78.24] (HELO ey-out-2122.google.com) (74.125.78.24) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Apr 2009 15:42:17 +0000 Received: by ey-out-2122.google.com with SMTP id 25so23327eya.29 for ; Wed, 01 Apr 2009 08:41:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type:content-transfer-encoding; bh=Ptig5zpxHZ/N4AsjV4ozaVDwAVwtDuKFwjOUqHsffqk=; b=JGevSU6jQX+VOdUmwmHNjbOMcOMnv21AcqSrijibCLzQkbqavFIIgTmDBtU/jKTnbk Mgs7Pm8Uk7JQZQ5mkmKt4VkHgS7c+w+VfFkMn3o1GV9c8pXAI0Ow2IhnUgsBunfNBkme wRZj43tROiyLqvnRNxPLMVXy9bWPU0ugKbbFQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=qbC593JDd7nJRH90L7RS6pyux76A5O0tvCMCQt12JkO5K1i3S+HZGTQ3WBqetcfSqu PvxvKckUorvTOEaxV3dpn0jm4IoFPyuDy5d5X4Hf4UHRr+E0IBJSJSIF2wa+mdW9tWCX M0b8/UNeIuC2ptWP3wAGjc08s4lYIXOZD2EXc= MIME-Version: 1.0 Sender: jchris@gmail.com Received: by 10.210.76.19 with SMTP id y19mr4574644eba.14.1238600515644; Wed, 01 Apr 2009 08:41:55 -0700 (PDT) In-Reply-To: <42fe43e10904010523p1d90542dlbefd3e9da6f9153@mail.gmail.com> References: <56a83cd00903182250l5aaec9c2g8815899f32e6924a@mail.gmail.com> <5DA1BF0C-C1D9-47E5-8B3D-7FDC360C5C77@gmail.com> <42fe43e10904010523p1d90542dlbefd3e9da6f9153@mail.gmail.com> Date: Wed, 1 Apr 2009 08:41:55 -0700 X-Google-Sender-Auth: c0946a753c85f01f Message-ID: Subject: Re: Bulk updates and eventual consistency From: Chris Anderson To: dev@couchdb.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org On Wed, Apr 1, 2009 at 5:23 AM, Hagen Overdick wrote: >> >> IMO this is a questionable decision, but I'm in the minority. > > > =A0Guess, after much thought about this, I am joining the minority. > > I base my argumentation on this excellent paper: > http://www-db.cs.wisc.edu/cidr/cidr2007/papers/cidr07p15.pdf > > In essence, Pat Helland recommends to identify _entities_ which represent > the maximum scope of _local_ serializability. Thanks to the bulk update > mechanism, this used to be a whole couchdb, with the changes given, an > entity maps to a single document now. Correct. CouchDB is a key/value store. A database is just a namespace for keys, and the boundary of map/reduce operations. > So, what's an entity for CouchDB? I very much prefer a whole db It was perhaps a mistake in managing expectations, to expose the bulk-transactions API. My impression of the reason behind this is that it made testing some low level file behavior more convenient in the short term. To provide an alternate viewpoint on this question, I remember using CouchDB _before_ bulk-docs became transactional, and being disappointed that what used to be an easy way to get data into CouchDB was now failing even if just one of my documents had a conflict. In the old days, bulk-docs worked a lot like it does in 0.9, and I found this more relaxing for my web spidering use case. Chris --=20 Chris Anderson http://jchrisa.net http://couch.io