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 8ED062648 for ; Thu, 21 Apr 2011 18:24:19 +0000 (UTC) Received: (qmail 82446 invoked by uid 500); 21 Apr 2011 18:24:18 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 82414 invoked by uid 500); 21 Apr 2011 18:24:18 -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 82405 invoked by uid 99); 21 Apr 2011 18:24:18 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Apr 2011 18:24:18 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of ryan.ramage@gmail.com designates 74.125.82.54 as permitted sender) Received: from [74.125.82.54] (HELO mail-ww0-f54.google.com) (74.125.82.54) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Apr 2011 18:24:10 +0000 Received: by wwd20 with SMTP id 20so2227005wwd.23 for ; Thu, 21 Apr 2011 11:23:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type:content-transfer-encoding; bh=OjZyIThwrRsbLlpc5bdsqHHgTLgW/i15Dd9RXAckbFs=; b=rfIHfpV8Q4nUWajDX5N3hAm+zVWT3aKIkC147/NoCguO4IGd5AP4yJmW9DM61yxZEA s2OjQRhyIIWCvTFQ+nT1fzCfdvyycIz5ld6waOiTFTEgoVlrx/NSu+9PvannguccPPIi hNYrjLWVx5shfKp7eDyA5+Tt7YDGV0i/Na6bk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=GXthZQBQ7CNM0lvWH8Fs0cpV5lrDWyDb+NLha+wyHqwsp/YuU+hyxszKW9NuMRi/cV xs7gkojzedruyVi5zzFlFl2L/tzhl4dykKCon+WtHEfEWyEdURN/cQwDdSlcO7lcr6EQ ph47S8zhJqLkFLnIVb70sCHQGVXOwfHPctX7Q= MIME-Version: 1.0 Received: by 10.227.177.13 with SMTP id bg13mr255773wbb.92.1303410230274; Thu, 21 Apr 2011 11:23:50 -0700 (PDT) Received: by 10.227.71.137 with HTTP; Thu, 21 Apr 2011 11:23:50 -0700 (PDT) In-Reply-To: <4DB06C48.3010306@gmail.com> References: <4DAF1BE0.5070104@gmail.com> <4DB06C48.3010306@gmail.com> Date: Thu, 21 Apr 2011 12:23:50 -0600 Message-ID: Subject: Re: Help needed: is couchDB a good fit for my app? From: Ryan Ramage To: user@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 >> You might want some architecture like this: >> >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 [] Public Docs db =A0 =A0 =A0 =A0 = =A0 | >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 | =A0<----- hosted >> [] User 1db =A0 =A0[] User 2 db =A0[].... =A0 =A0 =A0 =A0 | >> ------------------------------------------------------ >> >> [] User1 phone db =A0 [] User 2 Phonedb =A0 [].... >> >> Then have replication between phone and user db. Then have replication >> from Userdb to public docs db with a filter to take out private >> tags... >> > Hum, something like that could yes. But I have a question regarding the > stats. First, a tag can only take a value in a predefined set of value > for that tag. So, is it possible that instead of filtering the tag > completely, I update the stat of the value accordingly (+1 if the value > has been chosen by the user, -1 if the user changed to another value or > reset the tag)? CouchDB filtering is currently a yes/no operation per doc. So you would want to have related docs to the tag that hold the 'stat of the value'. Filter the parent tag doc, and let the 'stat of the value' docs go back to the public db. > > Oh, and also, I read that there is a limit depending on the OS for the > number of concurrent databases. Won't that be a problem if there is a > lot of users (which will hopefully be the case;)? Yes, there will be a limit on how many for concurrent dbs per OS. It is really high anyway. Someone else will have to give real life numbers on this. But if you hit the wall, just add more servers. They are cheap as chips :) The couch replication model is nice because it is flexible with how you might grow. Ryan