Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7813D7731 for ; Mon, 12 Sep 2011 17:52:16 +0000 (UTC) Received: (qmail 98185 invoked by uid 500); 12 Sep 2011 17:52:14 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 98155 invoked by uid 500); 12 Sep 2011 17:52:14 -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 98147 invoked by uid 99); 12 Sep 2011 17:52:14 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 12 Sep 2011 17:52:14 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [74.125.82.180] (HELO mail-wy0-f180.google.com) (74.125.82.180) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 12 Sep 2011 17:52:07 +0000 Received: by wyj26 with SMTP id 26so4946422wyj.11 for ; Mon, 12 Sep 2011 10:51:45 -0700 (PDT) MIME-Version: 1.0 Received: by 10.216.138.145 with SMTP id a17mr2467324wej.11.1315849905409; Mon, 12 Sep 2011 10:51:45 -0700 (PDT) Received: by 10.216.70.84 with HTTP; Mon, 12 Sep 2011 10:51:45 -0700 (PDT) X-Originating-IP: [216.113.168.128] In-Reply-To: References: <5CA42D48-AD47-4498-B30B-F3313216D447@apache.org> Date: Mon, 12 Sep 2011 13:51:45 -0400 Message-ID: Subject: Re: Using couchdb for analytics From: Sam Bisbee To: user@couchdb.apache.org Content-Type: text/plain; charset=UTF-8 On Mon, Sep 12, 2011 at 1:27 PM, Scott Feinberg wrote: > Unless you can ensure that only one process will be editing the document at > a time (to ensure that you never end up holding an old revision), your going > to have issues. I've never tried it, but I'd be under the assumption > conflict resolution wouldn't work at all. My favorite way for doing something like that is to use a queue. Your app stores the analytics transactions in the queue and you have a consumer that puts them into Couch at its own pace. If you want to do so with a single thread, then go for it. -- Sam Bisbee