couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Anderson <>
Subject Re: Apache sub-projects
Date Fri, 14 Aug 2009 23:11:59 GMT
On Fri, Aug 14, 2009 at 4:01 PM, Noah Slater<> wrote:
> On Fri, Aug 14, 2009 at 03:49:33PM -0700, Chris Anderson wrote:
>> CouchDB core should remain focused on reliability and performance on a
>> single node.
> I disagree pretty strongly with this. Focusing on single node performance is a
> good short term goal, but saying that multi-node environments are less important
> is antithetical to the core goals of CouchDB.
> Without sounding like a dick, the clue is in the name:
>  Cluster of Unreliable Commodity Hardware.
> I'm not aware that this vision of a distributed database has been abandoned.
>> There is a lot of code that can go into monitoring a large cluster,
>> and our Erlang Lounge will eventually want to provide cluster health
>> services as well. There are also optimizations (like view row
>> reshuffling) which are only appropriate on very large clusters, so
>> they should not be part of the core project, but we want to encourage
>> their development.
>> The modularity we'll get from being able to deploy the most
>> appropriate combination of nginx, twisted python, erlang, etc to
>> monitor a cluster will serve us well in the long run, I hope.
> I think it's a bit more nuanced than this. Like the essay I referenced in my
> first post, we don't want people to be overwhelmed by too many choices. We
> should figure out what works best for most people, and roll that in.
>> I guess part of what it means to bring in a sub-project is an
>> acknowledgment that the project we're bringing in reflects CouchDB's
>> goals and architecture, but might not be appropriate to deploy for all
>> the use cases we want to support.
> It worries me that we understand the project goals so differently.
> To the best of my understanding, CouchDB was always intended to be distributed
> at some point, and I would be interested in hearing what other people think
> about this, and when, if so, this was abandoned.

"abandoned" ;)

Wow, that's a lot of word. I'd be the last to say anything of the
sort. I consider multi-node CouchDB to be as important as it gets, as
far as goals of the project go.

It's encouraging that even without explicit code to deal with
clusters, people have been able to run large reliable clusters.
CouchDB can only get better at clustering from here. I think it's
important that in the near-term, the practice of running a 100-node
CouchDB is well known and easy for people to boot up and run and get
comfortable with.

On the other hand, we're trying to compress the entire application
into a few MB so it can run in browsers and smartphones. It's
legitimate to want to deploy CouchDB in these environments as well. A
mobile phone has no need to run a hundred-node partitioned cluster of
CouchDBs. However, there's some awesome stuff it could do if it ran
the CouchDB we have now. I'm just trying to preserve that option.

I'm trying to organize the code and the effort so we can reach both
goals, pursuing them both makes us a stronger project with cleaner


> Best,
> --
> Noah Slater,

Chris Anderson

View raw message