Return-Path: Delivered-To: apmail-incubator-couchdb-dev-archive@locus.apache.org Received: (qmail 25317 invoked from network); 22 Apr 2008 17:28:30 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Apr 2008 17:28:30 -0000 Received: (qmail 31199 invoked by uid 500); 22 Apr 2008 17:28:31 -0000 Delivered-To: apmail-incubator-couchdb-dev-archive@incubator.apache.org Received: (qmail 31175 invoked by uid 500); 22 Apr 2008 17:28:31 -0000 Mailing-List: contact couchdb-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: couchdb-dev@incubator.apache.org Delivered-To: mailing list couchdb-dev@incubator.apache.org Received: (qmail 31159 invoked by uid 99); 22 Apr 2008 17:28:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Apr 2008 10:28:31 -0700 X-ASF-Spam-Status: No, hits=0.4 required=10.0 tests=SPF_PASS,SUBJECT_FUZZY_TION X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of damienkatz@gmail.com designates 64.233.166.181 as permitted sender) Received: from [64.233.166.181] (HELO py-out-1112.google.com) (64.233.166.181) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Apr 2008 17:27:44 +0000 Received: by py-out-1112.google.com with SMTP id a25so2662048pyi.13 for ; Tue, 22 Apr 2008 10:27:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to:in-reply-to:content-type:content-transfer-encoding:mime-version:subject:date:references:x-mailer; bh=Ry6r2uc9ytb/XYBGdjPSop//4FW0EBikYVSakoRc88Y=; b=gCPkqL4Fwp2cENrxHRkmEDVhuvdYsagQxUubGORPdiQjWjpoM/TNQs/G0p+h7vJ4TTATwqueSSnxiqEjcufj0OTJM7aL+EH65rw6MmN9dCwS6tP5SRUUHJx15+PnIbyudadgt05naEuhLYdRzgY8A9jsGHwFqLnpUsQ0Y/hFdQ8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:in-reply-to:content-type:content-transfer-encoding:mime-version:subject:date:references:x-mailer; b=xm4PtG9k2jV2zrYQxNbAqaK+EeXVHPvytQQC0dxAa8yMqnYBcaWM4nrEus3ION/XJWqYo6IGCKFousUiMRHTw8bPc/5ms9mpGWYRMjqprfonkOjbsIq2bEONoSkAR/BXJOnhdxzsoTYE5qnnnhFRB7C4UWSfzjc/SpMYnoB/qzI= Received: by 10.35.77.18 with SMTP id e18mr784694pyl.46.1208885277062; Tue, 22 Apr 2008 10:27:57 -0700 (PDT) Received: from ?10.0.1.188? ( [71.68.49.63]) by mx.google.com with ESMTPS id y78sm16350346pyg.17.2008.04.22.10.27.54 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 22 Apr 2008 10:27:56 -0700 (PDT) Message-Id: <92A3E956-8726-4965-B6D5-DF967277001F@gmail.com> From: Damien Katz To: couchdb-dev@incubator.apache.org In-Reply-To: <3E5250D9-E6D5-4795-BE83-AB9B7DDBBD6A@bluebridge.jp> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v919.2) Subject: Re: Node Partitioning: Next Steps Date: Tue, 22 Apr 2008 13:27:52 -0400 References: <3E5250D9-E6D5-4795-BE83-AB9B7DDBBD6A@bluebridge.jp> X-Mailer: Apple Mail (2.919.2) X-Virus-Checked: Checked by ClamAV on apache.org On Apr 22, 2008, at 6:00 AM, Kristopher Tate wrote: > Hi all, thank-you for your work on this exciting project! > > My colleagues and myself over at Zooomr are wondering what has been > done to the affect of Node Partitioning (written in the FAQ), what > needs to be done and perhaps how we can contribute to the project. > > I understand that partitioning isn't in the immediate roadmap, but > if someone could give us some direction on what has been done in > this area, we would love to contribute to this project. > The current plan is to put partitioning off until post 1.0, but we'd be more than happy if you want to help out with something before then. Some thoughts: For clustering and partitioning, ideally CouchDB would make things so simple that you just add or remove a machine to the pool and everything automatically rebalances and adjusts and gives you linear scalability and you never have to think about it except to replace bad machines. But we'll never reach that ideal, the best we can do is come asymptotically closer to it. So the thing about partitioning and clustering is there are so many different ways to slice it and things to optimize for, it's hard to know at this early stage in CouchDB development which approach to take. And maybe several approaches are in order depending on what you want to optimize for, so which to take first? And what layer will the clustering and partitioning be built at? I had assumed it would be in Erlang, with the nodes talking to each other via Erlang messaging. But if we can optimize HTTP enough, it might be worth it doing above the HTTP level, for all the existing HTTP servers, proxies and libraries out there (and less custom Erlang code that needs to be written). So I guess I don't really have answers, but those are my thoughts. If you have some ideas about this feel free to let them fly. Questions too :) > kristopher tate > cto & founder - zooomr.com