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 CC6FD10DFA for ; Wed, 26 Mar 2014 16:31:38 +0000 (UTC) Received: (qmail 45911 invoked by uid 500); 26 Mar 2014 16:31:36 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 45853 invoked by uid 500); 26 Mar 2014 16:31:33 -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 45825 invoked by uid 99); 26 Mar 2014 16:31:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 26 Mar 2014 16:31:31 +0000 X-ASF-Spam-Status: No, hits=1.7 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of siriele2x3@gmail.com designates 209.85.216.173 as permitted sender) Received: from [209.85.216.173] (HELO mail-qc0-f173.google.com) (209.85.216.173) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 26 Mar 2014 16:31:26 +0000 Received: by mail-qc0-f173.google.com with SMTP id r5so2864435qcx.18 for ; Wed, 26 Mar 2014 09:31:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=BW/6SFIMc/9YnlK45q79KjbnmVCB6wSKoN6qNFCXS6w=; b=i/5pHk4pznz9ERor9U7so8HJitwCcliFntox+p9Fc4Zt9/5r/AheejIMtCS6p7vOW1 czucG8A/I1EGF88JA7eLwDNV/N075fx3502NSDf83BYLZ+QDV1TFdP7zCzSCzHNYhDKB X/OfLcwDiqvpZ3wMPtWcwmPoPVr30f8Xo63+0pONVsT8HzUgDt7s6unY4lMhpfSy+5BK 3VRqI3U96yNFhgxiiBItydLjpeJH4qKeBxhwS3LpScSwXi6UZ11IFUiw+pQIerGeKsJo Dnsi9YCX4mXaHvIz208rs9Ro/EbKXIZ6nFto3xLjS6lQ7CpxZpuWQCMaVn8E4H40+DIz 3W6g== MIME-Version: 1.0 X-Received: by 10.224.132.6 with SMTP id z6mr26953903qas.66.1395851465786; Wed, 26 Mar 2014 09:31:05 -0700 (PDT) Received: by 10.96.25.164 with HTTP; Wed, 26 Mar 2014 09:31:05 -0700 (PDT) Received: by 10.96.25.164 with HTTP; Wed, 26 Mar 2014 09:31:05 -0700 (PDT) In-Reply-To: <6A28FEB1-09C3-4BB2-8D87-6BBC98688A5D@couchbase.com> References: <6A28FEB1-09C3-4BB2-8D87-6BBC98688A5D@couchbase.com> Date: Wed, 26 Mar 2014 09:31:05 -0700 Message-ID: Subject: Re: Bigcouch vs couchbase From: Stanley Iriele To: user@couchdb.apache.org Content-Type: multipart/alternative; boundary=001a11c2c580c7260704f584fe3d X-Virus-Checked: Checked by ClamAV on apache.org --001a11c2c580c7260704f584fe3d Content-Type: text/plain; charset=ISO-8859-1 Thanks for that explanation... The documentation around this area is sparse at best. I know that bigcouch uses a quorum for consent reads and writes... I am not sure if it is possible to get stale data in bigcouch since each Nide knows the keyspace and the node that owns that key....I am however a tad biased towards couchDB though... List ,show, and update handler functions give me a nice abstraction saves me the cost of a get and a put of a giant blobs..but more importantly... The business logic of an update is not sprinkled all over code... That said...the sync gateway in couchbase is written in go.. So...that's an instant +1in my book.. But I digress Why would you say that couchbase scales better?... And does bigcouch ever return conflicts to the user? How is the "which write won" problem solved? On Mar 26, 2014 8:22 AM, "Jens Alfke" wrote: > > On Mar 26, 2014, at 12:43 AM, Stanley Iriele wrote: > > > How does bigcouch handle multiple simultaneous writes ? Is it first to > > write?.... How is couchbase different?... > > In Couchbase Server the key-space is partitioned among the nodes in the > cluster, so each key is 'owned' by one node at a time. So for any one key > there is strict causality, i.e. a total ordering of events. Couchbase > doesn't have MVCC nor does it store histories of documents. Instead every > document has a "CAS" value which is basically a 64-bit change counter. You > can perform optimistic updates by using a set-with-CAS operation that will > fail if the document's current CAS doesn't match the value you supplied. > There's also a Lock operation to obtain a temporary lease on a key, and a > handy Increment operation that operates atomically on integer-valued > (non-JSON) keys. > > AFAIK, BigCouch also partitions the key-space, in which case it doesn't > have simultaneous writes either. > > That said, these are two rather different databases. Couchbase Server is > faster (it's faster than just about anything else) and probably more > scaleable, but its durability/consistency guarantees are weaker, and its > replication between clusters (XDCR) isn't nearly as advanced. > > --Jens --001a11c2c580c7260704f584fe3d--