couchdbdatabase-replicationcrowdsourcing

Are there any examples of group data-sharing using a replicated database, such as CouchDB?


Background: I am working on a proposal for a PHP/web-based P2P replication layer for PDO databases. My vision is that someone with a need to crowd-source data sets up this software on a web server, hooks it up to their preferred db platform, and then writes a web app around it to add/edit/delete data locally. Other parties, if they wish, may set up a similar thing - with their own web apps written around it - and set up data-sharing agreements with one or more peers. In the general case, changes made to one database are written to another on a versioned basis, such that they eventually flow around the whole network.

Someone has asked me why I'm not using CouchDB, since it has bi-directional replication and record versioning offered as standard. I wasn't aware of these capabilities, so this turns out to be an excellent question! It occurs to me, if this facility is already available, are there any existing examples of server-to-server replication between separate groups? I've done a great deal of hunting and not found anything.

(I suppose what I am looking for is examples of "group-sourcing": give groups a means to access a shared dataset locally, plus the benefits of critical mass they would be unable to build individually, whilst avoiding the political ownership/control problems associated with the traditional centralised model.)


Solution

  • You might want to check out http://refuge.io/ It is built around couchdb, but more specifically to form peer groups.

    Also, here is a couchbase sponsored case study of replication between various groups http://site.couchio.couchone.com/case-study-assay-depot

    This can be achived on standard couchdb installs.

    Hope that gives you a start.