couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Van Couvering <>
Subject Re: Peer to peer replication
Date Sat, 07 Mar 2009 10:21:16 GMT
On Sat, Mar 7, 2009 at 2:07 AM, Jan Lehnardt <> wrote:

> On 7 Mar 2009, at 10:58, David Van Couvering wrote:
>  Hi, all.  I've been chewing on the uses of CouchDB, and it seems it could
>> be
>> very useful for peer-to-peer document sharing between *individuals* - a
>> community of collaborators on the web.
>> For example, a community wants to collaborate on a set of documents, but
>> would rather not have to go through setting up some kind of web site.
>>  They
>> just want to set up a folder that each member sees on their local machine
>> and then have this folder be shared amongst the community.
>> CouchDB seems very close to being the perfect technology for this.  But I
>> do
>> have some questions... (and potentially more as I chew on this further).
> This is an intended use-case for CouchDB. :)


>  - What protocol is used for replication across nodes?  I'm assuming it's
>> HTTP but just checking.  In a peer-to-peer system, this sounds like it
>> means
>> that each participant has to open up their HTTP port for replication to
>> work.  Is that correct?
> Yes.

Hm.  I am concerned that your Average Joe does not like the idea of opening
up their HTTP port, and probably doesn't know how to.  Folks used to hacking
with BitTorrent maybe, but that's not the target user I was really

I was thinking of maybe piggybacking replication messages on a protocol that
already supports push over the Internet and works for most users - like

But I'm not an expert in network protocols/security, and before I jump into
that, I am wondering if there are simpler solutions so that it's Very Easy
for Mr. Average Joe or Jill to install a CouchDB app where peer-to-peer
replication Just Works.

 - A community collaborating on a document would probably like to be able to
> view older versions, view differences between versions, revert to older
> versions, etc.  I couldn't immediately find if CouchDB can retain older
> versions indefinitely, or if older versions get "cleaned up" over time.  I
> suspect that the multi-version support in CouchDB isn't really intended for
> that usage - it's more for lock-free writes.  I suspect that if I wanted to
> have this kind of functionality I would have to layer those semantics on
> top
> of CouchDB using one document for each revision and providing my own diff
> functionality, etc.   Is that right?

To the point.
> I'm currently working on a CouchApp wiki that sort of is supposed to do
> all this and would show how to do versions in CouchDB without the
> MVCC system. Nothing to see yet but I'll keep you posted.




> Cheers
> Jan
> --

David W. Van Couvering

I am looking for a senior position working on server-side Java systems.
 Feel free to contact me if you know of any opportunities.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message